将行的值替换为dataframe中的一个值

2024-09-28 21:05:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一个名称替换特定列的行的值,但我想跳过没有值的行

enter image description here

因此,只有包含文本的行才能获得不同的名称

我试过:df.loc[:, 'Groenlinks'] = 'gl'但是所有的行都变为“gl”。我不知道如何才能用一个单词替换不同行的名称,而不键入它应该替换的所有单词

我希望它看起来像这样:

VVD          PVV          Groenlinks
vvd                       gl
             pvv          
vvd                    
                    
vvd                       gl
vvd          pvv          

Tags: 文本名称df键入单词locglvvd
2条回答

如果列中的值为空字符串或为空值,则这应该可以正常工作:

df['Groenlinks'].loc[df['Groenlinks'].notnull() | (df['Groenlinks'] != '')] = 'gl'

您可以使用:

df.loc[df['Groenlinks'] != '', 'Groenlinks'] = 'gl'

空字符串不等于Pandas中的NaN/null。因此,如果列中的其他空白行中有空字符串,则可以使用上面的代码筛选要使用新值设置的行

相关问题 更多 >