我们正在使用正则表达式来获取输入字符串的square brackets 之间的日期元素。
如果需要在 object/str 中输出
df.date = df["date"].str.extract('\[(.*?)]', expand=True).replace("'","", regex=True)
输出
date
0 2014-02-19
1 2013-02-28
2 2018-04-15
输出类型
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 1 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 3 non-null object
dtypes: object(1)
memory usage: 152.0+ bytes
如果需要输出为日期时间类型
df.date = df["date"].str.extract('\[(.*?)]', expand=True).replace("'","", regex=True)
df.date = pd.to_datetime(df.date)
df
输出
date
0 2014-02-19
1 2013-02-28
2 2018-04-15
输出类型
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 1 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 3 non-null datetime64[ns]
dtypes: datetime64[ns](1)
memory usage: 152.0 bytes
输入 DF
df = pd.DataFrame({
'date':["DatetimeIndex(['2014-02-19'], dtype='datetime64[ns]', freq=None)",
"DatetimeIndex(['2013-02-28'], dtype='datetime64[ns]', freq=None)",
"DatetimeIndex(['2018-04-15'], dtype='datetime64[ns]', freq=None)"]
})
df