在熊猫
分组转换分组堆积列到多列,我组织了我的数据框使用GROUPBY功能看起来是这样的:在熊猫
Compound Sample Concentration x y Benzene A 15 Ax Ay
B 20 Bx By
C 17 Cx Cy
Toluene A 23 Ax Ay
B 40 Bx By
Xylene A 70 Ax Ay
B 62 Bx By
C 55 Cx Cy
D 32 Dx Dy
如何拆散列到同一高度的多个列与分组作为列名?我想实现这样的事情:
Sample Benzene Toluene Xylene x y A 15 23 70 Ax Ay
B 20 40 62 Bx By
C 17 0 55 Cx Cy
D 0 0 32 Dx Dy
编辑 我失去了指标后,我用了GROUPBY功能,用我的数据是这样的:
Compound Sample Concentration x y 1 Benzene A 15 Ax Ay
5 Benzene B 20 Bx By
6 Benzene C 17 Cx Cy
0 Toluene A 23 Ax Ay
4 Toluene B 40 Bx By
2 Xylene A 70 Ax Ay
3 Xylene B 62 Bx By
7 Xylene C 55 Cx Cy
8 Xylene D 32 Dx Dy
我复方排序,以便重新安排所有索引最初按样本排序
回答:
根据您的发布,您不清楚索引中的哪些列。如果他们都不是(你可以用df.reset_index()力),那么你就可以做到以下几点:这不你的输出相匹配
df.set_index(['Compound', 'Sample', 'x', 'y'], inplace = True) df = df['Concentration']
df = df.unstack(level = 0)
df.reset_index(inplace = True)
的唯一途径是,X和Y列现在位于数据的左侧。由于这些列看起来像样本字母很容易构建,因此在转换后添加它们可能更容易。也就是说,如果你的团队通过给你与索引化合物和样品,和浓度的数据框作为唯一的列,你可能只是做:
df = df['Concentration'].unstack(level = 0)
,然后添加你的X和Y列。
编辑:从您的原始数据,你也可以做到这一点,它做了你与GROUPBY做了什么,一步到位会重塑:
df2 = pd.pivot_table(df, index = ['Sample', 'x', 'y'], columns = 'Compound', values = 'Concentration')
以上是 在熊猫 的全部内容, 来源链接: utcz.com/qa/257586.html