将计算出的列添加到熊猫数据框中

将计算出的列添加到熊猫数据框中,第1张

将计算出的列添加到熊猫数据框中

确切的代码对于您要执行的每个列都会有所不同,但是您可能需要使用

map
and
apply
函数。在某些情况下,您可以直接使用现有的列进行计算,因为这些列是Pandas系列对象,它们也可以作为Numpy数组使用,对于常规的数学运算,它们会自动以元素方式工作。

>>> d    A   B  C0  11  13  51   6   7  42   8   3  63   4   8  74   0   1  7>>> (d.A + d.B) / d.C0    4.8000001    3.2500002    1.8333333    1.7142864    0.142857>>> d.A > d.C0     True1     True2     True3    False4    False

如果需要在一行中使用诸如max和min之类的 *** 作,则可以使用

apply
with
axis=1
将您喜欢的任何函数应用于每一行。这是一个计算的示例
min(A,B)-C
,它看起来像您的“下芯”:

>>> d.apply(lambda row: min([row['A'], row['B']])-row['C'], axis=1)0    61    22   -33   -34   -7

希望这使您对如何进行有了一些了解。

编辑:将行与相邻行进行比较,最简单的方法是对要比较的列进行切片,不使用开始/结尾,然后比较所得切片。例如,这将告诉您A列中的元素的哪些行小于C列中下一行的元素:

d['A'][:-1] < d['C'][1:]

这是另一种方式,告诉您哪些行的A小于前一行的C:

d['A'][1:] < d['C'][:-1]

这样做

['A"][:-1]
切片断列A的最后一个元素,并做
['C'][1:]
切片关闭C列的第一个元素,所以你排队的这两个并比较他们,你是在一个每个元素比较从以下行℃。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存