我有一个看起来像这样的df:
numbers
0 111
1 22222
2 3423
我要将0
应用于任何4位数字的开头,该怎么做?
新df应该如下所示:
numbers
0 111
1 22222
2 03423
答案 0 :(得分:3)
使用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
答案 1 :(得分:2)
pandas.Series.str.zfill
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
答案 2 :(得分:0)
尝试这样的事情
df ['ResultingColumn'] = [如果len.df ['ResultingColumn'] == 4],则df ['StringColumn']中x的['0'+ str(x)