Python 合并数据帧及其总数

Python 合并数据帧及其总数,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我有14个数据帧 它们都有一个索引和一列名为“Total” 以下是1数据帧的示例: 索引为“Res Area” 该列为“总计” 所以我要做的是将它们合并到一个数据帧中,索引将在其中 用于比较所有这些DFs的df名称和列“Total” 我试着把df放在字典里,关键是df的名称和前10名的总和,但它不起作用 df = pd.DataFrame({'Res Area': resarea_df.Total[:10].sum(), 'Year Built': yearbuilt_df.Total[:1

我有14个数据帧

它们都有一个索引和一列名为“Total”

以下是1数据帧的示例:

索引为“Res Area” 该列为“总计”

所以我要做的是将它们合并到一个数据帧中,索引将在其中 用于比较所有这些DFs的df名称和列“Total”

我试着把df放在字典里,关键是df的名称和前10名的总和,但它不起作用

df =  pd.DataFrame({'Res Area': resarea_df.Total[:10].sum(), 'Year Built': yearbuilt_df.Total[:10].sum(),'Retail Area': retailarea_df.Total[:10].sum()})
我试着把df放在字典里,关键是df的名称和前10名的总和,但它不起作用

df =  pd.DataFrame({'Res Area': resarea_df.Total[:10].sum(), 'Year Built': yearbuilt_df.Total[:10].sum(),'Retail Area': retailarea_df.Total[:10].sum()})
我得到一个错误,上面写着:

如果使用所有标量值,则必须传递索引


我只想将所有dfs合并到1个df中,以查看每个dfs前10个总数的总和,并将它们相互比较,然后绘制在一个图上

您为数据帧调用了错误的构造函数。使用标量值字典,其中键成为要使用
的索引。从\u dict
构造函数:

import pandas as pd

data= {'data1': 1, 'data2': 2, 'data3': 15}
pd.DataFrame.from_dict(data, orient='index', columns=['Total'])
#       Total
#data1      1
#data2      2
#data3     15

为了解释您遇到的问题,当使用pd.DataFrame和字典构建数据帧时,默认情况是将数据帧的键设置为列。通常,传递的字典的值类似于数组,这允许
pandas
确定要生成多少行。但是,对于所有标量值和索引,无法知道需要多少行

data= {'data1': 1, 'data2': 2, 'data3': 15}
pd.DataFrame(data)
#ValueError: If using all scalar values, you must pass an index
要正确执行此操作,请指定索引:

pd.DataFrame(data, index=[0])
#   data1  data2  data3
#0      1      2     15
或使数据数组的至少一个值如下所示:

data2 = {'data1': 1, 'data2': 2, 'data3': [15]}
pd.DataFrame(data2)
#   data1  data2  data3
#0      1      2     15