【问题标题】:I'm having trouble extracting the year from the date column of this particular dataset我无法从这个特定数据集的日期列中提取年份
【发布时间】:2021-03-13 08:03:58
【问题描述】:

#Adjust Date Info

TSLA['date'] = TSLA['date'].astype(str)

TSLA['date'] = pd.to_datetime(TSLA['date'])

两列的数据类型都是object。

我尝试在日期列上使用.astype(str),然后使用 lambda 函数提取 YYYY-MM-DD,但数据类型没有改变。应用.astype(str)时也不会报错

.to_datetime 也不起作用。

两列都没有缺失值。我会感谢任何关于我做错了什么的意见?

由于我暂时无法添加图像,因此日期列具有以下值:YYYY-MM-DD HH-MM-SS-HH-MM-SS

【问题讨论】:

  • 经常需要的答案 请提供预期的MRE - Minimal, Reproducible Example。显示中间结果与预期结果的偏差。我们应该能够将您的代码块粘贴到文件中,运行它并重现您的问题。这也让我们可以在您的上下文中测试任何建议。不接受站外链接和文字图片;您的帖子必须是独立的,符合本网站的目的。
  • 另外,请附上完整的命令及其确切的错误。
  • 我已编辑以包含使用的命令。没有错误。该命令似乎工作正常,但df.info 说日期的数据类型仍然是对象。
  • 奇怪,pd.to_datetime 行应该可以工作。只是为了确认,再次运行TSLA['date'] = pd.to_datetime(TSLA['date']) 并发布TSLA.dtypes 的输出
  • 还有一件事,我没有意识到数据框的图片没有出现。日期列由以下项目组成: YYYY-MM-DD HH-MM-SS-HH-MM-SS o/p : title object date object dtype: object

标签: python pandas dataframe data-preprocessing


【解决方案1】:

好吧,我不知道您要做什么,但正如您在问题标题中提到的那样,您想要提取年份,所以这样做:-

TSLA['date'] = pd.to_datetime(TSLA['date'])
TSLA['year']=TSLA['date'].dt.year

【讨论】:

  • 当你的系列在 datetime dtype 中时
【解决方案2】:

好吧,看来 TSLA['date'] = pd.to_datetime(TSLA['date'],utc = True)

接着是:

TSLA['date'] = TSLA['date'].dt.date

得到我想要的值,即 YYYY-MM-DD。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2016-08-02
    • 2021-05-24
    • 2013-03-05
    相关资源
    最近更新 更多