python - 如何沿列轴连接两个具有不同索引的数据框

标签 python pandas dataframe merge concatenation

我想合并 2 个数据帧,第一个是 dm.shape = (21184, 34),第二个是 po.shape = (21184, 6)。我想合并它们,那么它将是 40 列。我这样写

dm = dm.merge(po, left_index=True, right_index=True)

然后是dm.shape = (4554, 40)我的行数减少了。

P.s podm 数值数据的PolynomialFeatures

最佳答案

问题是索引值不同,因此将它们转换为两个 DataFrame 中的默认 RangeIndex:

df = dm.reset_index(drop=True).merge(po.reset_index(drop=True), 
                                     left_index=True, 
                                     right_index=True)

解决方案 concat - 默认情况下外连接,但如果两者的索引值相同:

df = pd.concat([dm.reset_index(drop=True), po.reset_index(drop=True)], axis=1)

关于python - 如何沿列轴连接两个具有不同索引的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59962173/

相关文章:

python - 制作pandas数据透视表时如何保持数据框的顺序

python - 如何比较数据帧中两个连续字段是否相同?

r - 连接列并将它们添加到数据框的开头

pandas - 如何在 Pandas 中的 2 个 DataFrame 之间进行交集匹配?

python - 使用 python panda 从数据帧写入 csv

python - 在一行中声明并附加字典中的列表

python - 如何在python中组合(合并)两个数据表框架

Python 不正确的整数值 : '(2L,)' for column 'id' at row 1

python - 由于德语变音,Python 中的字符串不相等

python - 附加具有相同索引的 Pandas 系列的简单方法