【问题标题】:jupyter replacing column values with other DataFramejupyter 用其他 DataFrame 替换列值
【发布时间】:2020-11-20 12:17:29
【问题描述】:

我有一个 DataFrame (DF1),其中包含匹配对“代码 - 描述”(2 列:一列用于“代码”,第二列用于“描述”)。第二个 DataFrame (DF2) 在一列中包含“代码”列表. 我想用 DF1 中的“描述”替换第二个 DataFrame (DF2) 中的那些“代码”,其中 DF1“代码”将匹配 DF2“代码”。 DF1 仅包含存储在 DF1 中的一部分“代码” 谢谢你 DataFrames graph

DF1

aaa1 ----- first_letter_one

aaa2 ----- first_letter_two

aaa3 ----- first_letter_three

bbb1 ----- second_letter_one

bbb2 ----- second_letter_two

bbb3 ----- second_letter_three

ccc1 ----- third_letter_one

ccc2 ----- third_letter_two

ccc3 -----third_letter_three

DF2

aaa1

bbb2

bbb3

ccc2

DF2 之后

first_letter_one

second_letter_two

second_letter_three

third_letter_two

【问题讨论】:

    标签: pandas dataframe replace jupyter


    【解决方案1】:

    你需要在df2上做一个left join,如果df1是大数据集,使用join with set_index而不是merge,

    df1.set_index('code', inplace=True)
    df2.set_index('code', inplace=True)
    df_joined = df2.join(df1, how='left')
    

    然后只选择描述栏

    df_joined["description"]
    

    【讨论】:

    • 因为 DF1 比较大,所以我必须使用内接头,谢谢
    • @Yggrson 你能告诉我DF1的形状吗?
    • """"""""""search_names = pd.merge(DF2.iloc[0], DF1, on='Indicator Code', how='inner')"""" """"" """"""""new_names = search_names['Indicator Name'] """"""""""" 其中 'Indicator Code' 是具有公共数据的列,例如“code” .再次感谢您的帮助:)
    猜你喜欢
    • 2018-06-02
    • 1970-01-01
    • 2019-10-11
    • 2021-02-20
    • 1970-01-01
    • 2023-01-26
    • 2018-02-18
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多