Pandas 计算a列if b列条件
Pandas count column a if column b condition
我有一个包含两列的数据框,如下所示。
location date
paris 6
paris 4
rome 3
paris 5
paris 6
rome 6
paris 4
现在我想计算 a 列中的不同区域,如果 b 列等于 6。
所以期望的结果是:
巴黎 2
罗马 1
说实话我是个菜鸟,基本思路是:如果“日期”列是 6,计算列位置中的值。
感谢任何帮助。
假设您的数据框是 df
:
df[df['date'] == 6]['location'].value_counts()
会给你想要的结果:
paris 2
rome 1
Name: location, dtype: int64
它会是这样的:
df[df['date']==6].groupby('location').count()
df[df['date']==6]
部分,过滤您的 DataFrame 以仅包含日期值等于 6 的行。groupby('location')
按位置值对过滤的 DataFrame 进行分组,count()
计算中的行数组。
我有一个包含两列的数据框,如下所示。
location date
paris 6
paris 4
rome 3
paris 5
paris 6
rome 6
paris 4
现在我想计算 a 列中的不同区域,如果 b 列等于 6。 所以期望的结果是:
巴黎 2
罗马 1
说实话我是个菜鸟,基本思路是:如果“日期”列是 6,计算列位置中的值。
感谢任何帮助。
假设您的数据框是 df
:
df[df['date'] == 6]['location'].value_counts()
会给你想要的结果:
paris 2
rome 1
Name: location, dtype: int64
它会是这样的:
df[df['date']==6].groupby('location').count()
df[df['date']==6]
部分,过滤您的 DataFrame 以仅包含日期值等于 6 的行。groupby('location')
按位置值对过滤的 DataFrame 进行分组,count()
计算中的行数组。