扩展一个数据框中的信息,并 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
df1
和 merge
它与 df2
在 Id
:
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
假设我有这样的数据框:
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
df1
和 merge
它与 df2
在 Id
:
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