Python cars.iloc[[3,0]]、cars.iloc[[3]、[0]]和cars.iloc[3,0]之间的差异
我正在研究熊猫和汽车(csv文件)。我运行了以下命令: 1) cars.iloc[[3,0]]Python cars.iloc[[3,0]]、cars.iloc[[3]、[0]]和cars.iloc[3,0]之间的差异,python,python-3.x,pandas,Python,Python 3.x,Pandas,我正在研究熊猫和汽车(csv文件)。我运行了以下命令: 1) cars.iloc[[3,0]] Out[2]: cars_per_cap country drives_right 在18个印度是假的 美国809美国真实 2) cars.iloc[[3],[0]] Out[7]: cars_per_cap 18岁 3) cars.iloc[3,0] Out[9]: 18 我在第一个和第三个命令中感到困惑,我检查了all的类型,前两个是数据帧,第三个不是。然而,为什么我得到的
Out[2]:
cars_per_cap country drives_right
在18个印度是假的
美国809美国真实
2) cars.iloc[[3],[0]]
Out[7]:
cars_per_cap
18岁
3) cars.iloc[3,0]
Out[9]: 18
我在第一个和第三个命令中感到困惑,我检查了all的类型,前两个是数据帧,第三个不是。然而,为什么我得到的第一和第三输出不同?任何帮助都将不胜感激
df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')}, index=range(10, 16))
print (df)
A B C D E F
10 a 4 7 1 5 a
11 b 5 8 3 3 a
12 c 4 9 5 6 a
13 d 5 4 7 9 b
14 e 5 2 1 2 b
15 f 4 3 0 4 b
选择3.和0.行,所有列:
print (df.iloc[[3,0]])
#same as
#print (df.iloc[[3,0], :])
A B C D E F
13 d 5 4 7 9 b
10 a 4 7 1 5 a
选择3.和0.列,所有行:
print (df.iloc[:, [3,0]])
D A
10 1 a
11 3 b
12 5 c
13 7 d
14 1 e
15 0 f
选择3。行和0。列-嵌套列表创建一个项目系列
print (df.iloc[[3],[0]])
A
13 d
如上所述,仅在没有嵌套列表的情况下获取标量:
print (df.iloc[3,0])
d
另一项选择:
选择3.和0.行,0.列-秒[]
创建一列数据帧
:
print (df.iloc[[3, 0],[0]])
A
13 d
10 a
。。。如果省略它,则获得系列:
print (df.iloc[[3, 0], 0])
13 d
10 a
Name: A, dtype: object
如果要选择一行多列:
print (df.iloc[[0], [3, 0]])
D A
10 1 a
print (df.iloc[0, [3, 0]])
D 1
A a
Name: 10, dtype: object
print (df.iloc[[3,0], [3,0]])
D A
13 7 d
10 1 a
最后,请参见LCT多行多列:
print (df.iloc[[0], [3, 0]])
D A
10 1 a
print (df.iloc[0, [3, 0]])
D 1
A a
Name: 10, dtype: object
print (df.iloc[[3,0], [3,0]])
D A
13 7 d
10 1 a