在查询中链接条件时,应该选择一个特定的顺序吗?

时间:2019-05-06 19:01:40

标签: python pandas

假设我们以这个数据框为例:

df = pd.DataFrame([purchase_1, purchase_2, purchase_3], index=['Store 1', 'Store 1', 'Store 2'])

如果我想知道花费超过3(欧元)的人的名字,这两种方法有什么区别?

#approach 1:
df[df['Cost']>3]['Name']

#approach 2:
df['Name'][df['Cost']>3]

在这些情况下,是否存在完全不同或建议的方法?

1 个答案:

答案 0 :(得分:3)

都不做。是chained indexing,可能会突然伤害到您。

相反,一次提供两个轴标签更安全:

df.loc[df['Cost'] > 3, 'Name']

这可让您在进行第二个过滤/索引编制之前将df视为单个实体,而不是获取中间对象。