我有一个如下所示的数据帧。 数据=
SAMPLE MATERIAL MAT_WEIGHT
SAM1 MAT1 15
SAM1 MAT3 35
SAM1 MAT1 45
SAM2 MAT2 55
SAM2 MAT2 05
真正的数据帧要长得多
我应用了透视表,如下所示
table = (pd.pivot_table(data, index = ['SAMPLE'],
columns = ['MATERIAL'], values = ['MAT_WEIGHT'],
aggfunc = {'MAT_WEIGHT':np.sum})).fillna(0)
把桌子放在下面。 表=
MAT_WEIGHT
MATERIAL MAT1 MAT2 MAT3 MAT4
SAMPLE
SAM1 100 50 80 30
SAM2 80 50 120 25
SAM3 78 58 65 25
我想将表从多个级别减少到一个级别列。 我想要的最后一个数据帧如下所示
表_最终=
SAMPLE MAT1 MAT2 MAT3 MAT4
SAM1 100 50 80 30
SAM2 80 50 120 25
SAM3 78 58 65 25
如何做到这一点? (此处给出的数值仅用于可视化目的,不精确。)
避免在列表下使用列名以避免来自^{} 的
MultiIndex
,同时添加fill_value
参数:列索引和删除列名的最后一个选项可以使用^{} 和^{} :
相关问题 更多 >
编程相关推荐