我有一个pandas数据帧。在cxt列中,所有字符串值都应为4个字符。有些主题是3个或更少的字符。在这些情况下,应将多个'0'
放在字符串值的前面。
目前,我正在使用类似于:gdf.loc[gdf.cxt == '0', 'cxt'] = '0000'
的代码来捕获某些字符串。
此外,作为一个厚颜无耻的后续操作,gdf.loc[gdf.cxt.string.contains '.', 'cxt'] = '0000'
覆盖了我的所有值,而不是用'.'
字符替换任何字符串。
你是说zfill
:吗
df = pd.DataFrame({'ctx':['0','.x','001', 'abcd']})
df['ctx'].str.zfill(4)
输出:
0 0000
1 00.x
2 0001
3 abcd
Name: ctx, dtype: object
尝试gdf.loc[gdf.cxt.str.contains('.'), 'cxt'] = '0000'