Python 合并数据帧及其总数
我有14个数据帧 它们都有一个索引和一列名为“Total” 以下是1数据帧的示例: 索引为“Res Area” 该列为“总计” 所以我要做的是将它们合并到一个数据帧中,索引将在其中 用于比较所有这些DFs的df名称和列“Total” 我试着把df放在字典里,关键是df的名称和前10名的总和,但它不起作用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
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