假设我们以这个数据框为例:
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]
在这些情况下,是否存在完全不同或建议的方法?
答案 0 :(得分:3)
都不做。是chained indexing,可能会突然伤害到您。
相反,一次提供两个轴标签更安全:
df.loc[df['Cost'] > 3, 'Name']
这可让您在进行第二个过滤/索引编制之前将df
视为单个实体,而不是获取中间对象。