在 Pandas 中连接两个 dfs

Chr*_*s90 5 python merge concatenation python-3.x pandas

我想知道是否有一种方法可以验证一个 df 中与另一个 df 连接的值是否存在于两个 dfs 或另一个 df 中,然后再将它们堆叠在一起?

我有两个 dfs

df = pd.concat([df1, df2])
df = df.sort_values(by=['id', 'timestamp']).reset_index(drop=True)
df

   id  timestamp
0   1 1959-06-01
1   1 2019-01-01
2   1 2019-01-02
3   2 1989-12-01
4   2 2019-01-15
5   3 1999-01-25
6   3 2019-01-17
7   3 2019-02-01
8   3 2019-02-03
Run Code Online (Sandbox Code Playgroud)

有没有办法在类似于合并的连接之前验证 df1 中的 ID 是否存在于 df2 中?我不需要合并,而是将 dfs 连接在一起。

一个 df 有多个 id 和时间戳,另一个 df 只有一个 ID,我想确保只有两个 df 中都存在的 ID 才会出现在生成的串联 df 中

谢谢!

And*_*den 8

您可以在此处执行的一种解决方法是创建一个虚拟列:

df1["df"] = 1
df2["df"] = 2
df = pd.concat([df1, df2])
Run Code Online (Sandbox Code Playgroud)

这样您就可以看到每一行的派生位置。