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 的数据框。我需要保留索引和列。
编辑:我寻求任意大数据帧的通用解决方案。
您当前的代码沿一个轴连接,但您想沿两个不同的轴连接。
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)