在csv中使用Pandas求和每个列中的所有列

2024-10-03 17:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我写的程序大体上已经完成了我想要它做的事情——在大多数情况下。加上每列的总数。我的数据帧使用csv文件格式。我的代码如下:

import pandas as pd
import matplotlib.pyplot


class ColumnCalculation:
"""This houses the functions for all the column manipulation calculations"""

def max_electricity(self):
    df.set_index('Date', inplace=True)
    df.loc['Total'] = df.sum()
    print(df)


df = pd.read_csv("2011-onwards-city-elec-consumption.csv")
ColumnCalculation.max_electricity(df)

还有我的数据集(我不知道如何正确格式化)

dataset

代码很好地将所有总计相加到每一列底部的total列中,除了最后一列(2017)(下图):enter image description here

我不确定这个程序是否正确,我尝试过使用不同的格式选项,如.iloc或{},但似乎没有什么不同。我还尝试单独添加每一列(如下):

^{pr2}$

但我收到了一个错误,因为我认为这会太多?我已经想了好几个小时了。在


Tags: csvthe数据代码import程序pandasdf
1条回答
网友
1楼 · 发布于 2024-10-03 17:23:58

最后一列没有被解析为float,而是字符串。在

若要解决此问题,请尝试在求和之前将其转换为数值:

import locale

locale.setlocale(locale.LC_NUMERIC, '')

df['2017'] = df['2017'].map(locale.atoi)

更好的是,尝试将数据作为数字数据读入。例如:

^{pr2}$

相关问题 更多 >