Dr.*_*ata 1 python concatenation dataframe pandas
我有两个如下所示的数据框:
DF1:
| 第 1 列 | 列2 |
|---|---|
| 22 | 是的 |
| 22 | 不 |
| 24 | 是的 |
| 22 | 不 |
| 27 | 不 |
DF2:
| 第 1 列 | 列2 |
|---|---|
| 28 | 是的 |
| 22 | 不 |
| 29 | 是的 |
| 22 | 是的 |
| 27 | 是的 |
我想连接两个数据帧,这样我就会得到下面的结果。我不想加入 col1 上的数据帧,因为这会使列数加倍。我只想垂直组合数据框(如果它们在“col1”上共享共同值)。对此有什么帮助吗?
DF3:
| 第 1 列 | 列2 |
|---|---|
| 22 | 是的 |
| 22 | 不 |
| 22 | 不 |
| 22 | 不 |
| 22 | 是的 |
| 27 | 不 |
| 27 | 是的 |
让我们首先使用集合交集找到公共值,然后连接所需的行df1,并且df2可以选择对值进行排序
i = set(df1['col1']) & set(df2['col1'])
pd.concat([df1[df1['col1'].isin(i)], df2[df2['col1'].isin(i)]]).sort_values('col1')
Run Code Online (Sandbox Code Playgroud)
col1 col2
0 22 yes
1 22 no
3 22 no
1 22 no
3 22 yes
4 27 no
4 27 yes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |