>> df = pd.DataFrame(np.random.randint(0, 10, (5, 4)), columns=list('ABCD'))
A B C D
0 0 4 8 4
1 0 7 7 1
2 0 6 1 6
3 1 9 5 2
4 8 4 1 1
0. 转换为 numpy.ndarray 进行索引
>> df.values ⇒ numpy.ndarray
# 返回 B 列
>> df.values[:, 1]
# dataframe 索引列
>> df[:]['B']
1. 使用逻辑表达式
A 列元素为 0 的全部行;(对行进行过滤)
>> df[df.A == 0][:] A B C D 0 0 4 8 4 1 0 7 7 1 2 0 6 1 6 # 等价于 df[df['A'] == 0][:]
A 列元素为 0 时 B 列的最大值;
>> df[df['A'] == 0]['B'].max() 7 # 等价于 df[df.A == 0]['B'].max()