连接数据帧会产生额外的行

问题描述 投票:0回答:1
import pandas as pd
a = pd.DataFrame(1, index=["a"], columns=[1])
b = pd.DataFrame(1, index=["a"], columns=[2])
c = pd.DataFrame(1, index=["b"], columns=[1])
d = pd.DataFrame(1, index=["b"], columns=[2])
asdf = [a, b,c,d]
pd.concat(asdf)

生成的数据帧的行数加倍,并且一半的值现在是 nan。如何连接以便没有不必要的南馅料?结果应该是一个 2 x 2 的数据框。我需要保留索引和列。

编辑:我寻求任意大数据帧的通用解决方案。

python pandas dataframe
1个回答
0
投票

您当前的代码沿一个轴连接,但您想沿两个不同的轴连接。

pd.concat(
    [
        pd.concat([a, c]),
        pd.concat([b, d])],
    axis=1)

pd.concat(
    [pd.concat(column) for column in [[a, c], [b, d]]],
    axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.