gpt4 book ai didi

python - 减去数据框中的两列

转载 作者:太空狗 更新时间:2023-10-29 22:17:46 24 4
gpt4 key购买 nike

我的 df 如下所示:

Index    Country    Val1  Val2 ... Val10
1 Australia 1 3 ... 5
2 Bambua 12 33 ... 56
3 Tambua 14 34 ... 58

我想从每个国家/地区的 Val1 中减去 Val10,因此输出如下:

Country    Val10-Val1
Australia 4
Bambua 23
Tambua 24

到目前为止我有:

def myDelta(row):
data = row[['Val10', 'Val1']]
return pd.Series({'Delta': np.subtract(data)})

def runDeltas():
myDF = getDF() \
.apply(myDelta, axis=1) \
.sort_values(by=['Delta'], ascending=False)
return myDF

runDeltas 导致此错误:

ValueError: ('invalid number of arguments', u'occurred at index 9')

解决此问题的正确方法是什么?

最佳答案

给定以下数据框:

import pandas as pd
df = pd.DataFrame([["Australia", 1, 3, 5],
["Bambua", 12, 33, 56],
["Tambua", 14, 34, 58]
], columns=["Country", "Val1", "Val2", "Val10"]
)

它归结为一个简单的 broadcasting operation :

>>> df["Val1"] - df["Val10"]
0 -4
1 -44
2 -44
dtype: int64

您还可以将其存储到一个新列中:

>>> df['Val_1_minus_10'] = df['Val1'] - df['Val10']
>>> df
Country Val1 Val2 Val10 Val_1_minus_10
0 Australia 1 3 5 -4
1 Bambua 12 33 56 -44
2 Tambua 14 34 58 -44

关于python - 减去数据框中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48350850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com