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

如何使用python计算数据透视表,python,pivot,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

我在下面有一个示例表:

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脚本中实现这一点,这样我就可以自动化这个数据处理部分

谢谢,, 胜利者


顺便说一句,很抱歉表格格式有点奇怪。我不确定如何正确复制和粘贴表格。

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

df.groupby(['Temperature','Voltage'])['Data'].mean()
这将为每个唯一的
温度
电压
组合生成值
数据
的平均值。这是一个例子:

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

我认为您需要的函数是
.groupby()
,如果您熟悉它:

df.groupby(['Temperature','Voltage'])['Data'].mean()
这将为每个唯一的
温度
电压
组合生成值
数据
的平均值。这是一个例子:

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

我不太明白,你想要数据列的平均值吗?或者每次数据列的平均值不同(例如T=25和V=3.3的数据平均值)?研究使用Pandas软件包,该软件包具有方便的数据透视和数据透视表功能。如果您通过温度和电压进行平均,请参见:我不确定是否理解,您想要数据列的平均值?或者每次数据列的平均值不同(例如,T=25和V=3.3的数据平均值)?研究使用Pandas软件包,该软件包具有方便的数据透视和数据透视表功能。如果您同时使用温度和电压进行平均,请参见:谢谢!我想这就是我想要的。我有一个问题,如果我想迭代每个电压和温度的每个数据点,然后做一些事情,比如取两个点之间的abs值差,看看它是否大于某个数字,如果大于,则将其计算为跳跃。我该怎么做?谢谢!我想这就是我想要的。我有一个问题,如果我想迭代每个电压和温度的每个数据点,然后做一些事情,比如取两个点之间的abs值差,看看它是否大于某个数字,如果大于,则将其计算为跳跃。我该怎么做?