如何在熊猫的两组列上执行元素明智的操作

时间:2018-11-06 19:52:42

标签: python pandas numpy dataframe operation

我有数据框:

 c1 | c2 | c3 | c4
 5  |  4 | 9  | 3

我如何在c1 / c2和c3 / c4之间执行按元素划分(或其他操作)

结果是:

.5555 | 1.33333

我尝试过:

df[['c1', 'c2']].div(df[['c3', 'c4']], axis='index'))

但这只是导致NaNs。

3 个答案:

答案 0 :(得分:2)

一种解决方案是下拉至NumPy并创建一个新的数据框:

res = pd.DataFrame(df[['c1', 'c2']].values / df[['c3', 'c4']].values)

print(res)

          0         1
0  0.555556  1.333333

答案 1 :(得分:1)

我不是很肯定,我正确理解了您的问题,但是您可以按字面意思划分系列。

df['c1/c2'] = df['c1'] / df['c2']

查看此答案:How to divide two column in a dataframe

编辑:好的,我知道操作人员现在在问什么。请查看其他答案。

答案 2 :(得分:0)

非常简单,只需除以值即可

df[['c1', 'c2']]/df[['c3','c4']].values

顺序很重要,因此请确保在分母中使用正确的顺序。无需重新创建DataFrame