根据索引合并两个数据框

我整晚都在研究这个,就是想不通,尽管我知道这应该很简单。所以,我对一个睡眠不足的家伙的以下咒语表示最诚挚的歉意:

因此,我有四个字段,Employee ID、Name、Station 和 Shift(ID 为非空整数,其余为字符串或空值)。

我有大约 10 个数据帧,全部按 ID 索引。每个只包含两列(名称和站)或(名称和班次)

现在当然,我想将所有这些组合到一个数据框中,每个 ID 都有一个唯一的行。

但在这一点上我真的很沮丧(特别是因为我找不到直接检查我的最终数据框以多少个唯一索引结尾的方法)

在弄乱了一些使用 .merge() 的非常丑陋的方法之后,我终于找到了 .concat()。但它一直为每个 ID 制作多行,当我在 excel 中检查时,索引就像 Table1/1234、Table2/1234 等。一行有班次,另一行有站,这正是我试图避免的.

如何将所有数据编译到一个数据框中,每个 ID 恰好一行?可能不使用 9 个不同的合并语句,因为我以后必须扩大规模。


开满天机
浏览 84回答 1
1回答

MYYA

如果我正确理解你的问题,这就是你想要的。例如这 3 个数据框..In [1]: df1Out[1]:          0         1         20  3.588843  3.566220  6.5188651  7.585399  4.269357  4.7817652  9.242681  7.228869  5.6805213  3.600121  3.931781  4.6166344  9.830029  9.177663  9.8429535  2.738782  3.767870  0.9256196  0.084544  6.677092  1.9831057  5.229042  4.729659  8.6384928  8.575547  6.453765  6.0556609  4.386650  5.547295  8.475186In [2]: df2Out[2]:           0          10  95.013170  90.3828862   1.317641  29.6007094  89.908139  21.3910586  31.233153   3.9025608  17.186079  94.768480In [3]: dfOut[3]:          0         1         20  0.777689  0.357484  0.7537731  0.271929  0.571058  0.2298872  0.417618  0.310950  0.4504003  0.682350  0.364849  0.9332184  0.738438  0.086243  0.3976425  0.237481  0.051303  0.0834316  0.543061  0.644624  0.2886987  0.118142  0.536156  0.0981398  0.892830  0.080694  0.0847029  0.073194  0.462129  0.015707你可以做pd.concat([df,df1,df2], axis=1)这产生In [6]: pd.concat([df,df1,df2], axis=1)Out[6]:          0         1         2         0         1         2          0          10  0.777689  0.357484  0.753773  3.588843  3.566220  6.518865  95.013170  90.3828861  0.271929  0.571058  0.229887  7.585399  4.269357  4.781765        NaN        NaN2  0.417618  0.310950  0.450400  9.242681  7.228869  5.680521   1.317641  29.6007093  0.682350  0.364849  0.933218  3.600121  3.931781  4.616634        NaN        NaN4  0.738438  0.086243  0.397642  9.830029  9.177663  9.842953  89.908139  21.3910585  0.237481  0.051303  0.083431  2.738782  3.767870  0.925619        NaN        NaN6  0.543061  0.644624  0.288698  0.084544  6.677092  1.983105  31.233153   3.9025607  0.118142  0.536156  0.098139  5.229042  4.729659  8.638492        NaN        NaN8  0.892830  0.080694  0.084702  8.575547  6.453765  6.055660  17.186079  94.7684809  0.073194  0.462129  0.015707  4.386650  5.547295  8.475186        NaN        NaN有关更多详细信息,您可能希望查看pd.concat将简单的说明性数据放入您的问题中的提示总是有助于获得答案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python