我想将数据框中的值的平均值添加到数据框中,这样我就可以将它们写入单个excel文件。你知道吗
我有以下数据框:
df = pd.DataFrame({'a': {('0hr', '0.01um', 0): 12,
('0hr', '0.01um', 1): 10,
('0hr', '0.1um', 0): 8,
('0hr', '0.1um', 1): 6,
('0hr', 'Control', 0): 4,
('0hr', 'Control', 1): 2,
('24hr', '0.01um', 0): 18,
('24hr', '0.01um', 1): 15,
('24hr', '0.1um', 0): 12,
('24hr', '0.1um', 1): 9,
('24hr', 'Control', 0): 6,
('24hr', 'Control', 1): 3},
'b': {('0hr', '0.01um', 0): 42,
('0hr', '0.01um', 1): 35,
('0hr', '0.1um', 0): 28,
('0hr', '0.1um', 1): 21,
('0hr', 'Control', 0): 14,
('0hr', 'Control', 1): 7,
('24hr', '0.01um', 0): 30,
('24hr', '0.01um', 1): 25,
('24hr', '0.1um', 0): 20,
('24hr', '0.1um', 1): 15,
('24hr', 'Control', 0): 10,
('24hr', 'Control', 1): 5}})
我可以通过执行以下操作来计算每个更高级别索引的0和1的平均值:
df = df.reorder_levels([2,1,0]).unstack().unstack()
dfMean = df.mean()
print(df)
a b
0hr 24hr 0hr 24hr
0.01um 0.1um Control 0.01um 0.1um Control 0.01um 0.1um Control 0.01um 0.1um Control
0 12 8 4 18 12 6 42 28 14 30 20 10
1 10 6 2 15 9 3 35 21 7 25 15 5
print(dfMean)
a 0hr 0.01um 11.0
0.1um 7.0
Control 3.0
24hr 0.01um 16.5
0.1um 10.5
Control 4.5
b 0hr 0.01um 38.5
0.1um 24.5
Control 10.5
24hr 0.01um 27.5
0.1um 17.5
Control 7.5
我想把dfMean放在df数据框里,这样我就可以把所有的日期都写到一张excel表格里。。。实现这一目标的最佳方法是什么?可能是这样的数据帧?你知道吗
a b
0hr 24hr 0hr 24hr
0.01um 0.1um Control 0.01um 0.1um Control 0.01um 0.1um Control 0.01um 0.1um Control
0 12 8 4 18 12 6 42 28 14 30 20 10
1 10 6 2 15 9 3 35 21 7 25 15 5
mean 11.0 7.0 3.0 16.5 10.5 4.5 38.5 24.5 10.5 27.5 17.5 7.5
这有可能吗?你知道吗
只需将平均值添加为一列:
然后您可以重新排序级别并转置数据帧。你知道吗
相关问题 更多 >
编程相关推荐