python - pandas 日期时间格式转换

标签 python pandas datetime time-series

我的数据集在日期列中具有以下格式的值:

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/

相关文章:

python - 按复杂标准合并/加入 2 个 DataFrame

python - 为什么我需要导入 tkinter.messagebox 但导入 tkinter 后不需要导入 tkinter.Tk()?

python - 如何在 Python 中获取当前执行文件的路径?

python - 如何通过删除列表中的特定元素来运行给定列表的 itertools 产品?

pandas - 将 Int64Index 转换为 Int

php - PHP将各种格式的日期转换为mysql DATE格式保存在数据库中

c# - 将日期时间 js 转换为 c#

python - 合并时忽略空数据框

python - 如何从数据框中绘制多条线

Python OrderedDict 按日期排序