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()