我有数据框:
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。
答案 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