不同年份的增值

2024-04-26 05:14:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含企业信息的数据框。每一排都是生意。F列有业务id,Z列有一个整数告诉我收入。A栏有年份。我只想让每一个企业都在数据框中添加这些年的收入。怎么能这样

我可以为每个这样做的企业写一个循环,但我确信有一个简单的方法

我尝试过用df1 = df1.set_index('F')将F列设置为索引。我现在可以按年份选择并把它们加在一起吗


Tags: 数据方法信息idindex整数业务企业
1条回答
网友
1楼 · 发布于 2024-04-26 05:14:30

你在找groupby。教程here中介绍了这一点。例如:

>>> df = pd.DataFrame({"F": ["b1", "b1", "b2", "b3"], "A": [2001,2002,2001,2003], "Z": [100, 200, 50, 200]})
>>> df
      A   F    Z
0  2001  b1  100
1  2002  b1  200
2  2001  b2   50
3  2003  b3  200

[4 rows x 3 columns]
>>> df.groupby("F")["Z"].sum()
F
b1    300
b2     50
b3    200
Name: Z, dtype: int64

或者也许

>>> df.groupby("F", as_index=False)["Z"].sum()
    F    Z
0  b1  300
1  b2   50
2  b3  200

[3 rows x 2 columns]

取决于您希望输出是Series还是另一个DataFrame

相关问题 更多 >