Remap values in pandas column with a dict

后端 未结 10 1079
囚心锁ツ
囚心锁ツ 2020-11-21 05:14

I have a dictionary which looks like this: di = {1: \"A\", 2: \"B\"}

I would like to apply it to the \"col1\" column of a dataframe similar to:

10条回答
  •  借酒劲吻你
    2020-11-21 05:45

    DSM has the accepted answer, but the coding doesn't seem to work for everyone. Here is one that works with the current version of pandas (0.23.4 as of 8/2018):

    import pandas as pd
    
    df = pd.DataFrame({'col1': [1, 2, 2, 3, 1],
                'col2': ['negative', 'positive', 'neutral', 'neutral', 'positive']})
    
    conversion_dict = {'negative': -1, 'neutral': 0, 'positive': 1}
    df['converted_column'] = df['col2'].replace(conversion_dict)
    
    print(df.head())
    

    You'll see it looks like:

       col1      col2  converted_column
    0     1  negative                -1
    1     2  positive                 1
    2     2   neutral                 0
    3     3   neutral                 0
    4     1  positive                 1
    

    The docs for pandas.DataFrame.replace are here.

提交回复
热议问题