我的数据集在日期列中具有以下格式的值:
date
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
[datetime.date(2017, 2, 17)]
我想将它们转换为日期时间的数据类型,这样我就无法对其进行时间序列分析。
我用以下方式编写:但它给了我值(value)错误
df_scores['date']=pd.to_datetime(df_scores['date'],format='[datetime.date("%Y, %m, %d")]')
最佳答案
如果您的列是列表中的date
对象列,这应该足够了 -
df.date = pd.to_datetime(df_scores['date'].str[0], errors='coerce')
如果您有一列字符串,则可以使用 str.findall
提取日期工件,并使用 str.join
以 >to_datetime
明白了。
i = df.date.astype(str)\
.str.findall('\d+')\
.str.join('/')
df.date = pd.to_datetime(i, errors='coerce')
如果您有一列字符串列表,而不是一列字符串,则需要astype(str)
。如果您的列中存在格式错误的数据,您可能还需要另一个参数 errors='coerce'
。
df
date
0 2017-02-17
1 2017-02-17
2 2017-02-17
3 2017-02-17
4 2017-02-17
5 2017-02-17
6 2017-02-17
7 2017-02-17
8 2017-02-17
9 2017-02-17
10 2017-02-17
11 2017-02-17
关于python - pandas 日期时间格式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47869154/