【发布时间】:2018-07-24 07:05:54
【问题描述】:
下面的代码有问题
import pandas as pd
df = pd.DataFrame()
Fun1 = ['A','A','A','A','A','A','A','A','A','A','A','A','B',
'B','B','B','B','B','B','B','B','B','B','B']
Fun2 = ['1','1','1','2','2','2','2','3','3','4','4','4','1',
'1','2','2','2','2','2','3','3','3','3','4']
time = ['X','X','X','X','Y','Y','Y','Y','Z','Z','Z','Z','X',
'X','X','X','Y','Y','Y','Y','Z','Z','Z','Z']
X = [1,5,3,3,4,3,1,5,3,3,4,3,4,1,1,5,4,3,4,1,5,4,3,4]
Y = [2,3,4,1,1,5,2,3,4,1,1,5,3,3,4,3,4,1,1,5,3,5,1,2]
df = df.assign(Fun1=Fun1,Fun2=Fun2,time=time,X=X,Y=Y)
df = df.set_index(['Fun1', 'Fun2'])
for (index, group) in df.groupby('Fun2'):
dfx = group.groupby('time')['X','Y'].mean()
我的数据框dfx 正在被time 索引,我需要它来保留它以前拥有的旧多索引。
有没有办法在数据框中取平均值并保留我的旧索引?
期望的输出
X Y time
Fun1 Fun2
A 1 x1 y1 X
B 1 x2 y2 X
A 2 x3 y3 Z
...
作为 x1、y1 等的平均值或每个多索引
【问题讨论】:
-
您的示例无法运行。请再看一遍。
-
@coldspeed 现在已修复!
-
你能显示你想要的输出吗?虽然我不认为这是可能的。
-
我在问题中编辑
标签: python python-2.7 dataframe indexing