从列表字典更新我的数据框

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】:

让我们试试mapexplode

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)

以上是关于从列表字典更新我的数据框的主要内容,如果未能解决你的问题,请参考以下文章

从数据表添加到字典记录

Android,如何从我的数据库更新列表视图中的选定项目?

观察调用不更新字典值。异步的问题

如何获取多索引数据帧的前两个索引的字典

使用 Python 从列表和字典构建数组

在 SwiftUI 列表中显示 JSON 字典