在Python中对行(日期)进行分组并汇总多个列(每个日期的几个测量值)

在Python中对行(日期)进行分组并汇总多个列(每个日期的几个测量值),python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我使用Python Pandas并从Postgres加载如下表: date v00 v01 v02 v03 2001-01-01 00:00:00 30 40 50 100 2001-01-01 00:00:00 80 120 20 60 2001-02-01 00:00:00 20 70 50 20 我想使用Pandas对日期行进行分组并汇总值。结果应该是这样的 2001-01-01 00:00:00

我使用Python Pandas并从Postgres加载如下表:

date                  v00  v01  v02  v03
2001-01-01 00:00:00   30   40   50   100
2001-01-01 00:00:00   80   120  20    60
2001-02-01 00:00:00   20    70  50    20
我想使用Pandas对日期行进行分组并汇总值。结果应该是这样的

2001-01-01 00:00:00   500
2001-02-01 00:00:00   160
我可以对日期进行分组,并单独汇总值,但不能在一个视图中

我的结果是

1 220
2 280
3 160

这就是代码:

将psycopg2作为ps导入 作为pd进口熊猫 导入openpyxl conn=ps.connecthost=host,user=user,password=password,dbname=Python\u ueben cur=conn.cursor 打印“连接” schema=inputGeben Sie das schema ein 表=输入Geben Sie die Tabele ein def load_数据模式,表: sql_命令=从{}.{};中选择*;。formatstrschema,标准表格 打印sql\u命令 加载数据 data=pd.read\u sqlsql\u命令,conn groub=data.groupby['date']分组日期并保存在变量中 printdata.sumaxis=1,skipna=真和值v00-v03 printgroub.sumaxis=1,skipna=True group and sum,但不是正确的结果 printdata.groupby['date'].sumaxis=0,skipna=False 加载数据'public','zeitreiche' 如果“日期”列为“第一个聚合总和”,然后“每个轴的总和”=1:

或按日期列创建索引,然后对所有行和每个索引的最后一个总和每个索引的总和:

df1 = df.set_index('Date').sum(axis=1).sum(level=0).reset_index(name='sum')
如果日期为索引,则简化上述解决方案:

df1 = df.sum(axis=1).sum(level=0).reset_index(name='sum')

df1 = df.sum(level=0).sum(axis=1).reset_index(name='sum')

日期是列还是索引?谢谢!即使是第一个解决方案也奏效了。非常好而且非常快:D
df1 = df.set_index('Date').sum(axis=1).sum(level=0).reset_index(name='sum')
df1 = df.sum(axis=1).sum(level=0).reset_index(name='sum')

df1 = df.sum(level=0).sum(axis=1).reset_index(name='sum')