Pandas 计算方法

Pandas 计算方法,pandas,python-3.6,calculation,Pandas,Python 3.6,Calculation,我用pandas\u read读取一个文件,结果是: TotIrr DiffIrr Temp WindSpeed 0 3.2 2.5 19.67 0.34 1 1.8 0.0 19.67 0.35 2 2.5 1.4 19.67 0.31 3 3.7 2.5 19.67 0.30 4 3.2 2.5 19.67 0.32 计

我用
pandas\u read
读取一个文件,结果是:

  TotIrr  DiffIrr   Temp  WindSpeed
0     3.2      2.5  19.67       0.34
1     1.8      0.0  19.67       0.35
2     2.5      1.4  19.67       0.31
3     3.7      2.5  19.67       0.30
4     3.2      2.5  19.67       0.32
计算列的简单方法是:

df['WS * 2'] = df['WindSpeed'] * 2 
输出:

  TotIrr  DiffIrr   Temp  WindSpeed  WS * 2
0     3.2      2.5  19.67       0.34    0.68
1     1.8      0.0  19.67       0.35    0.70
2     2.5      1.4  19.67       0.31    0.62
3     3.7      2.5  19.67       0.30    0.60
4     3.2      2.5  19.67       0.32    0.64
如何使用
Temp\u index\u 2
计算say
WindSpeed\u index\u 4
?有简单的方法吗?

您可以使用:


有人已经在评论中提到了此方法,但为了更清楚,您可以使用:

df['Fourth WindSpeed'] = df['WindSpeed'].shift(-4)
df['Second Temp'] = df['Temp'].shift(-2)
df['Third Value'] = df['Forth WindSpeed'] * df['Second Temp']
df['Shift Third Value'] = df['Third Value'].shift(x) # x is an integer
这将是在熊猫身上完成你需要的东西的总体想法。注意,“第三个值”列将跟随df的原始索引。如果需要它跟随其他索引,可以使用:

df['Fourth WindSpeed'] = df['WindSpeed'].shift(-4)
df['Second Temp'] = df['Temp'].shift(-2)
df['Third Value'] = df['Forth WindSpeed'] * df['Second Temp']
df['Shift Third Value'] = df['Third Value'].shift(x) # x is an integer
一旦掌握了实现所需的技术,通常可以压缩语句以提高效率:

df['Third Value'] = df['WindSpeed'].shift(-4) * df['Temp'].shift(-2)

这是可行的,但新列中的每个值都是相同的。是否有办法获取风速的第四个值和温度的第二个值并计算第三个值,然后继续下一行?就像一个for循环,只有熊猫。你说的不清楚。在获取风速的第四个值和温度的第二个值并计算第三个值后,循环会做什么?我想他们正在寻找
shift
。你能详细说明你想做什么吗?这是一种滚动计算吗?