我只是想在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
我注意到它带回了每个数字,而不是数字的总和。我想取回这笔款项。
答案 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)