如何使用python计算数据透视表

时间:2019-10-10 23:02:57

标签: python pivot

我在下面有一个示例表:

Temperature Voltage     Data
25              3.3     2.15
25              3.3     2.21
25              3.3     2.23
25              3.3     2.26
25              3.3     2.19
25             3.45      2.4
25             3.45     2.37
25             3.45     2.42
25             3.45     2.34
25             3.45     2.35
105             3.3      3.2
105             3.3     3.22
105             3.3     3.23
105             3.3     3.24
105             3.3     3.26
105            3.45     3.33
105            3.45     3.32
105            3.45     3.34
105            3.45      3.3
105            3.45     3.36

我想计算每种温度和电压情况下的平均数据。我可以通过制作数据透视表在excel中完成此操作,但我想学习如何在python脚本中执行此操作,以便使该数据处理部分自动化。

谢谢你, 维克多

P.S。很抱歉,表格格式怪异。我不确定如何在此处正确复制和粘贴表格。

1 个答案:

答案 0 :(得分:2)

如果您熟悉的话,我认为您需要的功能是.groupby()

df.groupby(['Temperature','Voltage'])['Data'].mean()

这将为每个唯一的DataTemperature组合生成值Voltage的平均值。这是一个示例:

import pandas as pd
data = {
    'Temperature': [25,25,25,25,25,25,25,25,25,25,105,105,105,105,105,105,105,105,105,105],
    'Voltage': [3.3,3.3,3.3,3.3,3.3,3.45,3.45,3.45,3.45,3.45,3.3,3.3,3.3,3.3,3.3,3.45,3.45,3.45,3.45,3.45],
    'Data': [2.15,2.21,2.23,2.26,2.19,2.4,2.37,2.42,2.34,2.35,3.2,3.22,3.23,3.24,3.26,3.33,3.32,3.34,3.3,3.36]
}
df = pd.DataFrame(data)
print(df.groupby(['Temperature','Voltage'])['Data'].mean())

输出:

Temperature  Voltage
25           3.30       2.208
             3.45       2.376
105          3.30       3.230
             3.45       3.330
相关问题