如何只在4位以下的Pandas栏上做字符串制作?

2024-06-26 01:49:32 发布

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

我有一个df,看起来像这样:

   numbers
0      111
1    22222
2     3423

我想在任何4位数字的开头加上0,我该怎么做

新数据框应如下所示:

   numbers
0      111
1    22222
2    03423

Tags: 数据df数字numbers框应
3条回答

^{}

df = df.astype(str)  # Making sure these are strings

mask = df.numbers.str.len() == 4
df.loc[mask, 'numbers'] = df.loc[mask, 'numbers'].str.zfill(5)

df

  numbers
0     111
1   22222
2   03423

试试这个

如果len.df['ResultingColumn']==4,则df['ResultingColumn']=['0'+str(x)表示df['StringColumn']中的x

使用rjust

df=df.astype(str)
df.loc[df.numbers.str.len()==4,'numbers']=df.numbers.str.rjust(5,'0')
df
Out[370]: 
  numbers
0     111
1   22222
2   03423

相关问题 更多 >