无法正确连接数据帧

时间:2019-06-17 14:17:08

标签: python pandas dataframe concatenation

dfs是:

StockCode
84077K     32.694876
23005J     28.248135
85099BJ    24.581063
23084M     24.078340
85099FC    19.276526
Name: 127269, dtype: float64

其中127269是客户ID

dfc是:

    CustomerID
0       127269

我正在尝试使用以下命令连接dfs和dfc:

final_frame = pd.concat([dfc, dfs], axis=1)

我得到的结果是:

         CustomerID      127269
     0     127269.0         NaN
84077K          NaN   32.694876

我想要的输出是:

    CustomerID      StockCode
  0     127269         84077K

print (dfs) gives me:

StockCode
84077K    32.694876
Name: 127269, dtype: float64

print(dfc) gives me:
       CustomerID
0      127269

有人可以建议如何实现这一结果吗?

2 个答案:

答案 0 :(得分:0)

您的问题是dfs是一个Series而不是一个数据框,并且您希望与它的索引的第一个值保持一致。所以你应该使用:

final_frame = pd.concat([dfc, dfs.reset_index().iloc[[0], [0]]], axis=1)

它应该给出您的预期输出。

答案 1 :(得分:0)

我做了以下事情:

dfs = dfs.reset_index()

并获得以下输出:

dfs

StockCode   127269
0   84077K  32.694876

dfs1 = dfs['StockCode']

final_frame = pd.concat([dfc, dfs1], axis=1)

final_frame
    CustomerID  StockCode
0       127269  84077K