在Panda Dataframe的列中添加值

时间:2016-01-23 23:01:03

标签: 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

我想把所有的销售额加起来。我试过了:

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

但它没有增加销售额。我能做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:1)

IIUC您需要对Sales列中的值求和。首先,您需要使用str.replace删除$,然后使用pd.to_numeric转换为数字。然后你可以使用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版本> = 0.17.0。如果您使用的是旧版本,请查看convert_object(convert_numeric=True)