如何重新排列单独的数据框并将它们合并为一个摘要数据框?

我有以下数据框:

result=pd.DataFrame({'BID':1.87,'ASK':1.95},index=[0])

result1=pd.DataFrame({'BID':1.95,'ASK':2.05},index=[0])

result2=pd.DataFrame({'BID':1.95,'ASK':2.065},index=[0])

result.index.name='nok'

result1.index.name='sek'

result2.index.name='dkk'

我需要将这些数据框放在一个如下所示的摘要数据框中,货币是前一个数据框的索引名称,然后将投标和要价需求分配到各个列。

如何重新排列单独的数据框并将它们合并为一个摘要数据框?

我试图创建一个空的数据框:

summary=pd.DataFrame(columns=['CURRENCY','BID','ASK'])

并尝试附加值,但是没有用。

summary=summary.append({'CURRENCY':result.index.name,'BID':result['BID'],'ASK':result['ASK']})
candy009 回答:如何重新排列单独的数据框并将它们合并为一个摘要数据框?

您要寻找的是Pandas.concat()方法。它需要一个要合并的数据帧列表,以及一个“ axis = 0/1)参数,该参数分别确定是按行还是按列。

但是,您可以通过创建适当的字典来使DataFrame全部开始,来跳过此操作:

df_dict = {'NOK' : {'BID':1.87,'ASK':1.95},'SEK' : {'BID':1.95,'ASK':2.05},'DKK' : {'BID':1.95,'ASK':2.065}}

df = pd.DataFrame.from_dict(df_dict,orient = 'index')

orient参数确定您的初始值为行(默认为列)。

,

正如之前有人建议的那样,您可以串联数据框:

df = pd.concat([result,result1,result2],axis=0,ignore_index=True)

withignore_index = True,这是您的打印件:

        BID    ASK
    0  1.87  1.950
    1  1.95  2.050
    2  1.95  2.065

如果要引用此新数据框中的数据,则很有用。否则:

df = pd.concat([result,axis=0)

然后,重新创建货币标签。

 idx = 0   
 df.insert(loc =idx,column = '',value=['nok','sek','dkk'])

 print(df)
         BID    ASK
 0  nok  1.87  1.950
 1  sek  1.95  2.050
 2  dkk  1.95  2.065
本文链接:https://www.f2er.com/3160840.html

大家都在问