迭代DataFrame并使用值更新列,如果它为null

时间:2016-05-09 20:16:50

标签: python pandas dataframe

我正在尝试循环使用数据框并更新“GROUP_NAME”栏目'与' REG'它是null。

for index, row in trax_df.iterrows():
    if row['GROUP_NAME']==None:
        trax_df.loc[index, trax_df['GROUP_NAME']] = 'REG'

我使用了上面的代码,并没有提供回溯,但它没有用' REG'更新任何值。其中' GROUP_NAME'一片空白。我在这里错过了什么?

修改

它必须是一个考虑未来发展的循环,最终我必须从另一列中提取数字,称之为columnB,并将数字连接到' REG'。因此,我相信我需要Dataframe中的索引才能做到这一点。

数据中有NaN。

2 个答案:

答案 0 :(得分:0)

试试这个:

trax_df.loc[trax_df.GROUP_NAME.replace('', np.nan).isnull(), 'GROUP_NAME'] = 'REG'

这将包括空字符串和NaNs

如果你没有NaN,你可以这样做:

trax_df.loc[trax_df.GROUP_NAME== '', 'GROUP_NAME'] = 'REG'

答案 1 :(得分:0)

是无,还是空字符串?

trax_df.loc[(trax_df.GROUP_NAME.isnull() | (trax_df.GROUP_NAME = ''), 'GROUP_NAME'] = 'REG'