确切的代码对于您要执行的每个列都会有所不同,但是您可能需要使用
mapand
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之类的 *** 作,则可以使用
applywith
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列的第一个元素,所以你排队的这两个并比较他们,你是在一个每个元素比较从以下行℃。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)