【问题标题】:Adding the year to dates in date column将年份添加到日期列中的日期
【发布时间】:2020-06-10 03:14:04
【问题描述】:

我正在做一些数据清理,我有一个包含“月日”的日期列的 csv,例如:4 月 12 日。我想将 2020 年添加到该列中的每个日期,这样我就有:4 月2020 年 12 月。

我尝试过使用 pandas 和 datetime,但我觉得我显然错过了一个简单的答案。

谢谢!

编辑:

我之前应该说过,我已经导入了 csv,我想在事后添加年份。此外,我已经告诉 pandas,“开始”列包含日期。

编辑 2:

感谢:在这种情况下,您可以尝试 df['onset'] = df['onset'].apply(lambda dt: dt.replace(year=2020)) – MrNobody33 13

成功了!感谢所有的帮助,我会尽量让我未来的帖子更清晰,并在提问时添加我的数据。我知道必须有一个简单的答案!

【问题讨论】:

  • 请粘贴您数据的 sn-p,而不是图像
  • 您是要编辑 csv 文件本身,还是要导入数据并然后添加年份信息?
  • @0p3r4t0r 我正在导入数据,然后添加年份信息。
  • @KuldeepSinghSidhu 我在 iPad 上,它不允许我使用 sn-ps

标签: python pandas csv datetime data-cleaning


【解决方案1】:

试试这个...

df['onset'] = df['onset'].astype(str) +'2020'

【讨论】:

  • 谢谢,但是因为我已经解析了日期,所以我得到了 1900-04-222020。有没有办法使用日期时间来做到这一点?
  • 你能展示你的数据框吗?我只能在您的数据框中看到日期和月份
  • 虽然此代码可以解决 OP 的问题,但最好包含关于您的代码如何解决 OP 问题的说明。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。 SO 不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能得到支持。这些功能,以及所有帖子都是独立的要求,是 SO 作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释
【解决方案2】:

如果您尝试编辑 csv 本身,您可以尝试以下操作:

import pandas as pd
path = 'test.csv'                               #path of the .csv
df = pd.read_csv(path)                          #reads the file
df['onset'] = df['onset'].astype(str) +' 2020'  #Add the year
df.to_csv("test.csv", index=False)              #modify the file

或者,如果您想编辑从该 csv 导入的数据框,您可以试试这个:

import pandas as pd
path = 'test.csv' 
path = 'pathofthecsv'
df = pd.read_csv(path)                          #reads the file
df['onset'] = df['onset'].astype(str) +' 2020'  #Add the year

【讨论】:

  • 因为我已经解析了 pandas 中的日期,所以我得到:1900-04-222020
  • 这种情况你可以试试df['onset'] = df['onset'].apply(lambda dt: dt.replace(year=2020))
猜你喜欢
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
相关资源
最近更新 更多