我想以mm / dd / yyyy格式获取所有日期
所有日期都存储在“ some_column”中,并且采用混合格式
我尝试使用'apply'方法进行操作
def modify(row):
m = re.match(r'(\d{1,2})[/-](\d{1,2})[/-](\d{2,4})', row['some_column'])
if len(m.group(1)) == 1 :
mm = '0'+ m.group(1)
else :
mm = m.group(1)
if len(m.group(2)) == 1 :
dd = '0' + m.group(2)
else :
dd = m.group(2)
if len(m.group(3)) == 2 :
yyyy = '19' + m.group(3)
else :
yyyy = m.group(3)
row['some_column'] = mm+'/'+dd+'/'+yyyy ##<----------here
df.apply(modify, axis = 1)
我知道问题出在哪里..是否可以通过这种方式设置每一行的列值...
或者如果没有其他选择
编辑
我从函数中返回了序列并将其设置为原始数据框
def modify(row):
m = re.match(r'(\d{1,2})[/-](\d{1,2})[/-](\d{2,4})', row['some_column'])
if len(m.group(1)) == 1 :
mm = '0'+ m.group(1)
else :
mm = m.group(1)
if len(m.group(2)) == 1 :
dd = '0' + m.group(2)
else :
dd = m.group(2)
if len(m.group(3)) == 2 :
yyyy = '19' + m.group(3)
else :
yyyy = m.group(3)
return mm+'/'+dd+'/'+yyyy
df['some_column'] = df.apply(modify, axis = 1)