【问题标题】:Making multiple columns into one for .to_datetime将 .to_datetime 的多列合并为一列
【发布时间】:2022-11-17 02:44:24
【问题描述】:

目前我有一个代码设置来读取 CSV 文件,但 CSV 文件的列 DAY、YEAR 和 MONTH 都是整数。我想让它们都成为 datetime64[ns] 对象的一列。

为了使它们成为 datetime64[ns] 对象,我执行了以下操作:

df.insert(0, "DATE", 0, True)
df["YEAR"] = df["YEAR"].astype(str)
df["MONTH"] = df["MONTH"].astype(str)
df["DAY"] = df["DAY"].astype(str)
cols = ["MONTH", "DAY", "YEAR"]
df["DATE"] = df["MONTH"] + "-" + df["DAY"] + "-" + df["YEAR"]
df["DATE"] = pd.to_datetime(df["DATE"])

我的问题是,有没有更有效的方法来做到这一点? 我是大熊猫和一般编码的新手,所以提前谢谢你!

【问题讨论】:

    标签: python pandas analytics


    【解决方案1】:

    查看 pd.to_datetime docs 和您列出的列,您应该能够执行类似的操作。

    df["DATE"] = pd.to_datetime(df[["YEAR", "MONTH", "DAY"]])
    

    没有数据不能肯定地说,但pd.to_datetime 应该能够处理这些列而不必更改它们。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2020-04-14
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多