Pandas 种计算方式
Pandas ways to calculate
我用 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
?有没有简单的方法?
您可以使用 iloc
:
df['WindSpeed'].iloc[4] * df['Temp'].iloc[2]
有人已经在评论中提到了这个方法,但为了更清楚,你可以使用:
df['Fourth WindSpeed'] = df['WindSpeed'].shift(-4)
df['Second Temp'] = df['Temp'].shift(-2)
df['Third Value'] = df['Forth WindSpeed'] * df['Second Temp']
这将是完成您在 pandas 中所需内容的总体思路。请注意,'Third Value' 列将遵循 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)
我用 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
?有没有简单的方法?
您可以使用 iloc
:
df['WindSpeed'].iloc[4] * df['Temp'].iloc[2]
有人已经在评论中提到了这个方法,但为了更清楚,你可以使用:
df['Fourth WindSpeed'] = df['WindSpeed'].shift(-4)
df['Second Temp'] = df['Temp'].shift(-2)
df['Third Value'] = df['Forth WindSpeed'] * df['Second Temp']
这将是完成您在 pandas 中所需内容的总体思路。请注意,'Third Value' 列将遵循 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)