如何将Pandas DataFrame中的值与上一行和上一列中的值进行比较?

康纳·阿什利

我有一个由两列组成的数据框,其中填充了浮点值。我需要在当前“ h”值之前的索引处计算“ h”的所有值减去“ c”的所有值。因此,例如,对于第1行中的“ h”,我需要计算1.17322-1.17285(上一行中“ c”的值),我尝试了几种不同的方法来完成此操作,包括使用:.iloc,。 shift()、. groupby()和.diff(),但我无法准确获得所需的内容。

如果有人可以帮助,将不胜感激

    c        h
0   1.17285  1.17310
1   1.17287  1.17322
2   1.17298  1.17340
3   1.17346  1.17348
4   1.17478  1.17511
5   1.17595  1.17700
6   1.17508  1.17633
7   1.17474  1.17545
8   1.17463  1.17546
9   1.17224  1.17468
10  1.17437  1.17456
11  1.17552  1.17641
12  1.17750  1.17784
13  1.17694  1.17770
斯科特·波士顿

尝试使用shift,例如:

df['c_shift'] = df['c'].shift()
df['diff'] = df['h'] - df['c_shift']
print(df)

输出:

          c        h  c_shift     diff
0   1.17285  1.17310      NaN      NaN
1   1.17287  1.17322  1.17285  0.00037
2   1.17298  1.17340  1.17287  0.00053
3   1.17346  1.17348  1.17298  0.00050
4   1.17478  1.17511  1.17346  0.00165
5   1.17595  1.17700  1.17478  0.00222
6   1.17508  1.17633  1.17595  0.00038
7   1.17474  1.17545  1.17508  0.00037
8   1.17463  1.17546  1.17474  0.00072
9   1.17224  1.17468  1.17463  0.00005
10  1.17437  1.17456  1.17224  0.00232
11  1.17552  1.17641  1.17437  0.00204
12  1.17750  1.17784  1.17552  0.00232
13  1.17694  1.17770  1.17750  0.00020

当然,您可以一步完成此操作:

df['diff'] = df['h'] - df['c'].shift()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将值与上一行中的值进行比较,然后将值分配给另一列(熊猫)-如何加快速度?

比较Pandas DataFrame中的上一行值

如何将一列的每一行值转换为pandas中的列表?

迭代列并将该列的每一行值与 Pandas 中另一列的值进行比较

熊猫:通过将一列的值与另一行中同一列的另一个值进行比较来过滤行

Pandas数据框将列与一个值进行比较,然后将这一行和上一行放入另一数据框

Pandas Dataframe:如何比较一行的两列中的值是否等于后续行的同一列中的值?

如何从pandas数据框中获取同一行(上一列)的上一个值?

如何根据上一行中的值进行分组?

在Pandas数据框中使用groupby时,如何根据上一行中的值增加一列?

如何在 DataFrame 的同一列上複製前一行的值?

Pyspark:将一列中的值与另一列中同一行中的列表进行匹配

将 Pandas DataFrame 中的前一行值与 Condition 进行比较

Pandas DataFrame-删除特定列中与上一行具有相同值的行

加入时将一列中的值汇总到不同表上的一行中

如何将一列中的行值与组中另一列中的所有其他行进行比较?

将DataFrame分组,按组大小和一行中的列值进行过滤?

如何将td与上一行中的td进行比较

如何将同一行上多个 Pandas 列的值连接到一个新列中?

如何将一行中的值与所有其他行中的值进行比较?

将一列的值与另一列中的所有值进行比较

如何在熊猫中比较上一行并使用group by更改另一列的值?

当另一列值与上一行不同时,如何将pct更改重置为NaN?

Python-如何将一行的列值与下一行的值进行比较

如何使用前一行和前一列中的值

如何获取数据框中每一行的每一列的值和类型?

比较不同列中 Pandas DataFrame 中的前一行值

如果同一行中另一列中的值匹配,如何比较一列的两个值

如何从BigQuery中的每一行获取上一行和下一行的值?