【问题标题】: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

提前致谢!

【问题讨论】:

    标签: python pandas dataframe dictionary data-science


    【解决方案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)
    猜你喜欢
    • 2016-08-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多