sat*_*ide 2 python dataframe pandas
我有一个填充了几列的数据框。我需要更改列的值以进行数据规范化,如下例所示:
User_id
751730951
751730951
0
163526844
...and so on
Run Code Online (Sandbox Code Playgroud)
我需要将 a 中不为 0(字符串)的列中的每个值替换为“不为空”之类的值。我已经尝试了几个小时,但仍然无法将不是 0 的每个值更改为其他值。Replace() 函数对此不起作用。一些好主意?
编辑(我的解决方案):
finalResult.loc[finalResult['update_user'] == '0', 'update_user'] = 'empty'
finalResult.loc[finalResult['update_user'] != 'empty', 'update_user'] = 'not empty'
Run Code Online (Sandbox Code Playgroud)
df.loc[df['mycolumn'] != '0', 'mycolumn'] = 'not empty'
Run Code Online (Sandbox Code Playgroud)
或者如果值是一个整数,
df.loc[df['mycolumn'] != 0, 'mycolumn'] = 'not empty'
Run Code Online (Sandbox Code Playgroud)
df.loc[rows, cols]允许您在 DataFrame 中获取或设置一系列值。第一个参数是行,在这种情况下,我使用布尔掩码来获取所有在mycolumn. 第二个参数是您要获取/设置的列。由于我要替换查询的同一列,因此它也是mycolumn.
然后我简单地使用赋值运算符来分配你想要的“非空”的值。
如果您希望新列包含“非空”,以免污染 中的原始数据mycolumn,您可以执行以下操作:
df.loc[df['mycolumn'] != 0, 'myNewColumnsName'] = 'not empty'
Run Code Online (Sandbox Code Playgroud)