有条件地将字符添加到pandas DataFrame中字符串的开头

时间:2019-05-20 04:07:16

标签: python-3.x pandas

我有一个像这样的数据框:

Date
 9/02/2019
12/08/2019
 8/06/2019

我想在单个数字的日期前面添加一个0。我希望它像这样:

Date
09/02/2019
12/08/2019
08/06/2019

我正在使用此RegEx和字符串操作。字符串操作本身可以起作用,但是当我尝试使用RegEx进行操作时,它不会产生任何结果。

if row['Date'] == r'[\d]{1}/[\d]{1,2}/[\d]{4}':
   row['blah'] = '0' + row['Date']
   print(row['blah'])
else:
   pass

1 个答案:

答案 0 :(得分:2)

使用pd.to_datetime并使用Series.dt.strftime将其转换为字符串:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
df['Date'] = df['Date'].dt.strftime('%d/%m/%Y')

print(df)
         Date
0  09/02/2019
1  12/08/2019
2  08/06/2019