扩展一个数据框中的信息,并 link 使用来自其他数据的数据

Expand information in one dataframe and link with data from other

假设我有这样的数据框:

df1

Index   Id
ABC     [1227, 33234]
DEF     [112, 323, 2223, 231239]
GHI     [9238294, 213, 2398219]

还有一个:

df2

Id        variable
112       500
213       78073
323       10000000
1227      12
...
9238294   906

我的目标是扩展 df1['Id'] 以将其与 df2['variable'] 中的相应值连接起来,以便为 df1 中的每个索引在 df2 中的变量值内进行比较。

手头资料量大

从 df1 扩展信息并从 df2 赋值的最有效方法是什么['variable']?

你可以 explode df1merge 它与 df2Id:

out = df1.explode('Id').astype({'Id':int}).merge(df2.astype({'Id':int}), on='Id')

输出:

  index       Id  variable
0   ABC     1227        12
1   DEF      112       500
2   DEF      323  10000000
3   GHI  9238294       906
4   GHI      213     78073