python - cars.iloc[[3, 0]]、cars.iloc[[3]、[0]] 和 cars.iloc[3, 0] 之间的区别

标签 python python-3.x pandas

我正在研究 Pandas 并研究汽车(一个 csv 文件)。我运行了以下命令:

1) cars.iloc[[3, 0]]

Out[2]: 
cars_per_cap        country drives_right

IN 18 印度错误 US 809 美国真

2) cars.iloc[[3],[0]]

Out[7]: 
cars_per_cap

18 年

3) 汽车.iloc[3, 0]

Out[9]: 18

我对第一个和第三个命令感到困惑,我检查了所有命令的类型,前两个是 DataFrame 而第三个不是。但是,为什么我在第 1 次和第 3 次得到不同的输出?任何帮助将不胜感激。

最佳答案

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

... 如果省略,则得到 Series:

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

关于python - cars.iloc[[3, 0]]、cars.iloc[[3]、[0]] 和 cars.iloc[3, 0] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49380440/

相关文章:

python - 通过添加来自其他列的值在 Panda 数据框中创建新列

pandas - 计算 pandas 行中非 NaN 值的数量和长度

python - 如何在打印语句后取消换行符?

python - Pip 列表因 AssertionError 崩溃

python - 是否可以在 motor 中对集合进行子类化?

python - 打印二维列表

python - 如何在 pandas 数据框中通过两列和第三列求和来从组中获取最大值?

python - Tkinter 警告消息中的 "do not show message again"复选框

Python OpenCV 在 Canny 边缘检测后删除最外层边缘

python-3.x - 对于高频多季节性数据使用哪种预测?