用字符串pandas数据框替换NAN或空白

时间:2019-03-07 01:13:23

标签: python pandas dataframe

我有一个熊猫数据框。 在此数据帧的一列(“ Q8”)中,某些行为空。我想将这些空单元格替换为字符串('ss')。 我想在有条件的情况下进行更换。这种情况是,如果列('Q7')中的字符串为('我是学生')并且列('Q8')中该行的单元格为空,则替换列('Q8')的空单元格带有“ ss”。

这是我为此编写的代码:

for xx in range(0,len(df['Q8'])):
    if df['Q8'][xx]==np.nan:
       if df['Q7'][xx]=='I am a student':
           df['Q8'][xx].replace('', 'ss', regex=True)

但是从第一个开始找不到np.nan!

1 个答案:

答案 0 :(得分:3)

改为使用遮罩:

df.loc[(df['Q7'] == 'I am a student') & (df['Q8'].isna()), 'Q8'] = 'ss'

您也可以使用fillna

df.loc[df['Q7'] == 'I am a student', 'Q8'] = df.loc[df['Q7'] == 'I am a student', 'Q8'].fillna('ss')