我有一个初始数据帧d,我从中提取了两个数据帧,如下所示:
A = D[D.label == k]
B = D[D.label != k]
我想把A和B合并成一个数据框架。数据的顺序并不重要。然而,当我们从D中采样A和B时,它们保留了D中的索引。
我有一个初始数据帧d,我从中提取了两个数据帧,如下所示:
A = D[D.label == k]
B = D[D.label != k]
我想把A和B合并成一个数据框架。数据的顺序并不重要。然而,当我们从D中采样A和B时,它们保留了D中的索引。
当前回答
使用下面的代码水平附加两个Pandas数据帧:
df3 = pd.concat([df1, df2],axis=1, ignore_index=True, sort=False)
您必须指定围绕哪个轴合并两个帧。
其他回答
跨行合并:
df_row_merged = pd.concat([df_a, df_b], ignore_index=True)
跨列合并:
df_col_merged = pd.concat([df_a, df_b], axis=1)
要按列连接2个pandas数据帧,使用它们的索引作为连接键,你可以这样做:
both = a.join(b)
如果你想通过索引来连接多个dataframe、Series或它们的混合,只需将它们放在一个列表中,例如:
everything = a.join([b, c, d])
请参阅pandas文档中的datafframe .join()。
如果你想用第二个数据帧df2的值更新/替换第一个数据帧df1的值。你可以按照以下步骤来做
第一步:设置第一个数据帧的索引(df1)
df1.set_index('id')
第二步:设置第二个数据帧的索引(df2)
df2.set_index('id')
最后使用下面的代码片段更新数据帧-
df1.update(df2)
用pd。Concat连接多个数据框架:
df_merged = pd.concat([df1, df2], ignore_index=True, sort=False)
弃用:DataFrame。附加和系列。在v1.4.0中已弃用。
使用附加:
df_merged = df1.append(df2, ignore_index=True)
为了保留它们的索引,设置ignore_index=False。