从列表字典更新我的数据框
Posted
技术标签:
【中文标题】从列表字典更新我的数据框【英文标题】:Update my dataframe from a dictionary of list 【发布时间】:2021-07-14 22:32:26 【问题描述】:我有一个具有特定 ID 的数据框,我还有一个列表字典。从数据框的 ID 中,如果它存在于字典中,我需要更新该 ID,但在字典中它由两个 ID 更新,以下是示例: 数据框
ID | Name | Last Name |
---|---|---|
1 | Peter | Smith |
2 | John | Allen |
7 | Rene | Watson |
8 | Dilan | Foster |
字典
Dict = 1: [3, 4], 2: [5, 6], 7: [11], 8:[8]
预期输出:
ID | Name | Last Name |
---|---|---|
3 | Peter | Smith |
4 | Peter | Smith |
5 | John | Allen |
6 | John | Allen |
11 | Rene | Watson |
8 | Dilan | Foster |
提前致谢!
【问题讨论】:
【参考方案1】:让我们试试map
和explode
df.assign(ID=df['ID'].map(dct)).explode('ID', ignore_index=True)
ID Name Last Name
0 3 Peter Smith
1 4 Peter Smith
2 5 John Allen
3 6 John Allen
【讨论】:
谢谢!但是在同一张表中,我有不需要更新的值,这行得通吗? 在这种情况下我们可以使用df.assign(ID=df['ID'].map(dct).fillna(df['ID'])).explode('ID', ignore_index=True)
以上是关于从列表字典更新我的数据框的主要内容,如果未能解决你的问题,请参考以下文章