熊猫的计算方法

时间:2017-04-16 12:50:33

标签: pandas python-3.6 calculation

我读了pandas_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

如何使用WindSpeed_index_4计算说Temp_index_2?有一个简单的方法吗?

2 个答案:

答案 0 :(得分:2)

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

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

这将是在熊猫中完成所需的一般想法。请注意,“第三个值”列将遵循df的原始索引。如果您需要它来跟随其他索引,您可以使用:

df['Shift Third Value'] = df['Third Value'].shift(x) # x is an integer

一旦你获得了实现所需要的技术,你通常可以压缩语句以提高效率:

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

答案 1 :(得分:1)

您可以使用iloc

df['WindSpeed'].iloc[4] * df['Temp'].iloc[2]