使用 pandas 连接将列添加到数据框

Ehs*_*ian 5 python concatenation pandas

我有“train_df”数据框:

print(train_df.shape)
Run Code Online (Sandbox Code Playgroud)

返回 (997, 600)。

现在我想将一列连接到该数据框,其中:

print(len(local_df["target"]))
Run Code Online (Sandbox Code Playgroud)

返回 997。

所以看起来尺寸一切都很好。

但问题是:

final_df = pd.concat([train_df, local_df["target"]], axis=1)
print(final_df.shape)
Run Code Online (Sandbox Code Playgroud)

返回 (1000, 601)。而它应该是 (997, 601)。

你知道问题出在哪里吗?

cs9*_*s95 2

您可以将assignnumpy 数组作为新列。

final_df = train_df.assign(target=local_df["target"].values)
Run Code Online (Sandbox Code Playgroud)

对于熊猫 >= 0.24,

final_df = train_df.assign(target=local_df["target"].to_numpy())
Run Code Online (Sandbox Code Playgroud)