我有以下数据样本:
id year type num
1 1994 A 0
2 1950 A 2333
3 1977 B 4444
4 1995 B 555
1 1994 A 0
6 1955 A 333
7 2006 B 4123
6 1975 A 0
9 1999 B 123
3 1950 A 1234
我正在寻找根据type == 'A'和year〈1999条件对列'num'求和的最简单方法
我正在使用以下数据迭代 Dataframe df:
data = pd.read_csv('data.csv')
df = pd.DataFrame(data)
df_sum = pd.DataFrame
for index, row in df.iterrows():
if row['type'] == 'A' and row['year'] < 1999:
df_sum = df_sum.append(row) //This doesn't work
并尝试将符合条件的行存储到df_sum中,在df_sum中,我将按id汇总num。不知道如何迭代并将基于条件的数据存储到新的 Dataframe 中。
预期产出为:
id num_sum
1 0
2 2333
6 333
.....
2条答案
按热度按时间gijlo24d1#
对于汇总的数据,您可以过滤、分组求和,然后重置索引
lb3vh1jj2#
您可以使用
df.query()
来完成此操作。输出: