Python Pandas - 根据匹配条件创建新的df列

时间:2018-05-03 15:43:32

标签: python pandas dataframe

我正在尝试在我的pandas数据框(df)中创建一个新列。此列中每行的值(称为column_new)需要查看数据框中已存在的引用列(column_ref)。我使用了column_ref中的唯一值,并将它们分配为字典中的键,d:

d = {'column_ref_value1': 'a',
     'column_ref_value2': 'b', 
     'column_ref_value3': 'c',}

dict(d)中的值是我想在我的数据框中分配给column_new的值。这是我试图无济于事的:

for i in df['column_ref']:
    for k, v in d.items(): 
        if k == i:
            df['column_new'] = v

当我打电话给我的df时,我看到每行都填充了值'c'的column_new,我不知道为什么。我猜我的问题与通过pandas数据帧或系列的不正确迭代有关。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用replace()

df['column_new'] = df.replace({'column_ref': d})