Python 在Panda Dataframe的列中添加值

Python 在Panda Dataframe的列中添加值,python,pandas,dataframe,Python,Pandas,Dataframe,我想把某一列的值相加。 我有一个从CSV加载的数据框,其中包含以下数据: Date Item Count Price per Unit Sales 0 1/21/16 Unit A 40 $1.50 $60.00 1 1/22/16 Unit A 20 $1.50 $30.00 2 1/23/16 Unit A 100 $1.50 $150.00 我想把所有的销售额加起来。我试

我想把某一列的值相加。 我有一个从CSV加载的数据框,其中包含以下数据:

  Date    Item  Count Price per Unit     Sales
0  1/21/16  Unit A     40         $1.50    $60.00
1  1/22/16  Unit A     20         $1.50    $30.00
2  1/23/16  Unit A    100         $1.50   $150.00
我想把所有的销售额加起来。我试过:

print sales_df.groupby(["Sales"]).sum()

但这并不是销售额的总和。我能做些什么来让它工作

IIUC您需要对
Sales
列中的值求和。首先,您需要使用删除
$
,然后使用转换为数字。然后您可以使用
sum
。一艘班轮:

pd.to_numeric(df.Sales.str.replace("$", "")).sum()
一步一步:

In [35]: df.Sales
Out[35]: 
0     $60.00
1     $30.00
2    $150.00
Name: Sales, dtype: object

In [36]: df.Sales.str.replace("$", "")
Out[36]: 
0     60.00
1     30.00
2    150.00
Name: Sales, dtype: object

In [37]: pd.to_numeric(df.Sales.str.replace("$", ""))
Out[37]: 
0     60
1     30
2    150
Name: Sales, dtype: float64

In [38]: pd.to_numeric(df.Sales.str.replace("$", "")).sum()
Out[38]: 240.0

注:
pd.to_numeric
仅适用于
pandas
version>=
0.17.0
。如果您使用的是旧版本,请查看
convert\u object(convert\u numeric=True)

是否要对销售中的值求和?您的
Sales
列有一个数据类型对象,对象(
str
)的
sum
将被串联。需要求和值才能得到240吗?是的,正确,我希望值为240。我要的是sum而不是concat。太棒了,这很管用。也感谢您的逐步介绍。在您的示例中,列名是硬编码的。我如何重写它使列成为动态的?您也可以使用
df['Sales']
var='Sales'
df[var]