我有兩個資料框,一個包含相應的 id 值,另一個包含每行中的 id 串列。
如何用其他資料幀的匹配值替換 id 串列?
df_1 :
| Id | Names |
| ------------------- | ---------------- |
| 1 | Name1 |
| 2 | Name2 |
| 3 | Name3 |
df_2 :
| Id_lists |
| ------------------- |
| [1] |
| [2,3,1] |
| [1,3 ] |
在我的示例中創建資料框:
data = [[1, 'Name1'], [2, 'Name2'], [3,'Name3']]
data_2 = [[[1]],[[2,3,1]],[[1,3]]]
df_1 = pd.DataFrame(data, columns = ['Id', 'Names'])
df_2 = pd.DataFrame(data_2, columns = ['Id_lists'])
uj5u.com熱心網友回復:
嘗試創建映射dict使用explode
map_dict = dict(zip(df1.Id,df1.Names))
df2['Names_lists'] = df2['Id_lists'].explode().map(map_dict).groupby(level=0).agg(list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/402553.html
標籤:
上一篇:如何過濾熊貓資料框以選擇列串列
