如何计算python熊猫列的总和

时间:2020-02-17 02:07:43

标签: python pandas

我只是想在python的数据框中获取列的总和(“值”)。我相信我正在创建数据框,但不确定。我得到了一个结果,但是,这并不是我想像的.sum()结果。

import csv
import pandas as pd

with open('new_taste.csv', 'r') as csv_trades:
    csv_reader = csv.DictReader(csv_trades)

    df = pd.DataFrame(data=csv_reader)
    total = df['Value'].sum()
    df.loc['Value'] = pd.Series(df['Value'].sum(), index=['Value'])
    print(df['Value'])

在给我

0                                                      133
1                                                      180
2                                                     -117
3                                                     -159
4                                                        1
                               ...                        
316                                                     14
317                                                     14
318                                                     19
319                                                     18
Value    133180-117-15911-84-3-10-23434245-23-3085-5241...
Name: Value, Length: 321, dtype: object

我注意到它带回了每个数字,而不是数字的总和。我想取回这笔款项。

2 个答案:

答案 0 :(得分:1)

在将df ['Value']值识别为字符串之后,似乎返回了字符串值。

将代码的第9行更改为以下代码

rq

您能否分享它返回“ total”变量的全部信息。

答案 1 :(得分:0)

我认为这是我的答案。我必须仔细检查一下数学原因,我相信我必须进一步调整我要累加的内容。我正在返回一个字符串。

import csv
import pandas as pd

with open('new_taste.csv', 'r') as csv_trades:
    csv_reader = csv.DictReader(csv_trades)

    df = pd.DataFrame(data=csv_reader)
    total = df['Value'].sum()
    df.loc['Value'] = pd.Series(df['Value'].astype(float).sum(), index=['Value'])
    print(df['Value'])

print(total)