Python 熊猫-如何获得正负值列的总和?

Python 熊猫-如何获得正负值列的总和?,python,pandas,sum,Python,Pandas,Sum,我使用熊猫对一列数据求和,包括正值和负值 我首先通过删除$符号和括号来清理数据。然后将格式设置为浮点 如何求整列的和并减去负数 例如: $1000 ($200) $300 $1250 ($100) 我希望答案是2250而不是2550 提前谢谢 DataFrame对象具有.sum方法,该方法将轴作为参数 my_dataframe['name_of_column_you_want'].sum(axis = 0) # axis=0 means down (th

我使用熊猫对一列数据求和,包括正值和负值

我首先通过删除$符号和括号来清理数据。然后将格式设置为浮点

如何求整列的和并减去负数

例如:

    $1000
    ($200)
    $300
    $1250
    ($100)
我希望答案是2250而不是2550


提前谢谢

DataFrame对象具有.sum方法,该方法将轴作为参数

my_dataframe['name_of_column_you_want'].sum(axis = 0) # axis=0 means down (the rows)

我不理解您的示例。

您想识别值和符号:

# positive and negative
signs = np.where(s.str.startswith('('), -1, 1)

# extract the values
vals = s.str.extract('\$([\d\.]*)')[0].astype(int)

# calculate the sum
vals.mul(signs).sum()

# 2250

这帮了大忙。谢谢虽然代码可能会解决问题,但一个好的答案也应该解释代码的作用以及它如何解决问题。
import re
def clean(column_name) :
    if column_name.find('(') > 0 :
       return float(re.match(r'(\d+)').group(0)) 
    else :
       return -float(re.match(r'(\d+)').group(0)) 
my_dataframe['column_name'].apply(clean).sum()