Pandas:DataFram中平均超过重复索引值

2024-05-08 13:54:21 发布

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

假设我有以下数据帧:

df = pd.DataFrame({'a':[0,1,2,3,1,2,3,4],
                   'b':[4,4,2,4,6,7,8,9]},
                   index = ['2010Q1', '2010Q1', '2010Q2', '2010Q2', '2010Q2',
                            '2010Q3', '2010Q3', '2010Q4'])

        a  b
2010Q1  0  4
2010Q1  1  4
2010Q2  2  2
2010Q2  3  4
2010Q2  1  6
2010Q3  2  7
2010Q3  3  8
2010Q4  4  9

请注意,每个索引值都是重复的。我想要的是返回另一个对重复索引行求平均值的数据帧,并返回另一个没有重复的数据帧。在

例如

^{pr2}$

我有一个关于如何获取第一个或最后一个重复行的想法,但我不知道如何平均重复行。在

例如

df[df.index.duplicated(keep = 'first')]
df[df.index.duplicated(keep = 'last')]

Tags: 数据dataframedfindex平均值firstpdlast
1条回答
网友
1楼 · 发布于 2024-05-08 13:54:21

我认为@user3483203的groupby方法是最直接的。但另一个选择是使用^{}

df.reset_index().pivot_table(columns=["index"]) # add .T to transpose dates to rows

index  2010Q1  2010Q2  2010Q3  2010Q4
a         0.5     2.0     2.5     4.0
b         4.0     4.0     7.5     9.0

相关问题 更多 >