为什么我得到的索引器错误太多了?

时间:2018-03-26 13:27:57

标签: python-3.x pandas

cars_df = pd.DataFrame((car.iloc[:[1,3,4,6]].values), columns = ['mpg', 'dip', 'hp', 'wt'])
car_t = car.iloc[:9].values
target_names = [0,1]

car_df['group'] = pd.series(car_t, dtypre='category')
sb.pairplot(cars_df)

我尝试过使用.iloc(axis = 0)[xxxx]并将切片放入列表和元组中。没有骰子。有什么想法吗?我试图从lynda.com视频制作散点图,但在视频中,主机使用的是不推荐使用的.ix。所以我使用的是.iloc []

car = a dataframe

几行数据

"Car_name","mpg","cyl","disp","hp","drat","wt","qsec","vs","am","gear","carb"
"Mazda RX4",21,6,160,110,3.9,2.62,16.46,0,1,4,4
"Mazda RX4 Wag",21,6,160,110,3.9,2.875,17.02,0,1,4,4
"Datsun 710",22.8,4,108,93,3.85,2.32,18.61,1,1,4,1
"Hornet 4 Drive",21.4,6,258,110,3.08,3.215,19.44,1,0,3,1
"Hornet Sportabout",18.7,8,360,175,3.15,3.44,17.02,0,0,3,2
"Valiant",18.1,6,225,105,2.76,3.46,20.22,1,0,3,1
"Duster 360",14.3,8,360,245,3.21,3.57,15.84,0,0,3,4
"Merc 240D",24.4,4,146.7,62,3.69,3.19,20,1,0,4,2
"Merc 230",22.8,4,140.8,95,3.92,3.15,22.9,1,0,4,2
"Merc 280",19.2,6,167.6,123,3.92,3.44,18.3,1,0,4,4
"Merc 280C",17.8,6,167.6,123,3.92,3.44,18.9,1,0,4,4
"Merc 450SE",16.4,8,275.8,180,3.07,4.07,17.4,0,0,3,3

1 个答案:

答案 0 :(得分:1)

我认为您希望按iloc选择多个列:

cars_df = car.iloc[:, [1,3,4,6]]
print (cars_df)
     mpg   disp   hp     wt
0   21.0  160.0  110  2.620
1   21.0  160.0  110  2.875
2   22.8  108.0   93  2.320
3   21.4  258.0  110  3.215
4   18.7  360.0  175  3.440
5   18.1  225.0  105  3.460
6   14.3  360.0  245  3.570
7   24.4  146.7   62  3.190
8   22.8  140.8   95  3.150
9   19.2  167.6  123  3.440
10  17.8  167.6  123  3.440
11  16.4  275.8  180  4.070

sb.pairplot(cars_df)

不是100%肯定使用其他代码,似乎需要:

#select also 9. column
cars_df = car.iloc[:, [1,3,4,6,9]]
#rename 9. column
cars_df = cars_df.rename(columns={'am':'group'})
#convert it to categorical
cars_df['group'] = pd.Categorical(cars_df['group'])
print (cars_df)
     mpg   disp   hp     wt group
0   21.0  160.0  110  2.620     1
1   21.0  160.0  110  2.875     1
2   22.8  108.0   93  2.320     1
3   21.4  258.0  110  3.215     0
4   18.7  360.0  175  3.440     0
5   18.1  225.0  105  3.460     0
6   14.3  360.0  245  3.570     0
7   24.4  146.7   62  3.190     0
8   22.8  140.8   95  3.150     0
9   19.2  167.6  123  3.440     0
10  17.8  167.6  123  3.440     0
11  16.4  275.8  180  4.070     0

#add parameetr hue for different levels of a categorical variable
sb.pairplot(cars_df, hue='group')