添加不同年份的值

时间:2014-03-06 21:06:08

标签: python pandas

我有一个包含有关商家信息的数据框。每一行都是一项业务。列F具有业务的id,列Z具有一个告诉我收入的整数。 A列有年份。我只想让每个企业在数据框中多年来增加收入。怎么能这样做?

我可以为每个做这件事的公司写一个循环,但我确信大熊猫的方式很简单。

我尝试将列F设置为df1 = df1.set_index('F')的索引。我现在能以某种方式选择年份并将它们加在一起吗?

1 个答案:

答案 0 :(得分:2)

您正在寻找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