【发布时间】:2018-12-30 08:12:54
【问题描述】:
我有以下数据框-
A B C Result
0 232 120 9 91
1 243 546 1 12
2 12 120 5 53
我要进行如下的操作-
A B C Result A-B/A+B A-C/A+C B-C/B+C
0 232 120 9 91 0.318182 0.925311 0.860465
1 243 546 1 12 -0.384030 0.991803 0.996344
2 12 120 5 53 -0.818182 0.411765 0.920000
我正在使用
df['A-B/A+B']=(df['A']-df['B'])/(df['A']+df['B'])
df['A-C/A+C']=(df['A']-df['C'])/(df['A']+df['C'])
df['B-C/B+C']=(df['B']-df['C'])/(df['B']+df['C'])
我认为这是一种非常粗糙和丑陋的做法。 怎么做才更正确?
【问题讨论】:
-
您已经以正确且(恕我直言)最好的方式进行操作。
-
但是如果我们增加编号。列那么你不认为它会变得有点低效
-
它高效(矢量化)且不言自明。你认为什么是“漂亮”?
-
@LukaszTracewski 我更多的是寻找一种循环的方法,以防万一。列数增加。
-
好的,现在我也明白你想要达到的目的了。我以为您想遍历行,这不是一个好主意。 Yolo 的解决方案对我来说似乎不错。
标签: python-3.x pandas