根据值将 df1 列与 df2 列交换



目标:根据'df_state.abbr'将df_hsa.stateabbr换成df_state.state

有没有这样的函数,我提到源、目标和基于数据帧列?

我是否需要以类似的方式对两个数据帧进行排序?

df_hsa

hsa stateabbr    county
0  259        AL    Butler
1  177        AL   Calhoun
2  177        AL  Cleburne
3  172        AL  Chambers
4  172        AL  Randolph

df_state

abbr       state
0   AL     Alabama
1   AK      Alaska
2   AZ     Arizona
3   AR    Arkansas
4   CA  California
<小时 />

期望输出:df_hsastate列而不是stateabbr

hsa     state    county
0  259   Alabama    Butler
1  177   Alabama   Calhoun
2  177   Alabama  Cleburne
3  172   Alabama  Chambers
4  172   Alabama  Randolph

您可以在将索引设置为"stateabbr"后简单地加入

df_hsa.set_index("stateabbr").join(df_state.set_index("abbr"))

输出:

hsa county  state
AL  259 Butler  Alabama
AL  177 Calhoun Alabama
AL  177 Cleburne    Alabama
AL  172 Chambers    Alabama
AL  172 Randolph    Alabama

如果您还想要原始索引,您可以在行尾添加.set_index(df_hsa.index)

最新更新