如何组合日期列和时间列[重复]

Posted

技术标签:

【中文标题】如何组合日期列和时间列[重复]【英文标题】:How to combine date column and time column [duplicate] 【发布时间】:2018-01-14 06:54:19 【问题描述】:

我的数据看起来像这样

        Date        Time     Open     High      Low    Close  Volume
0      2013.07.09   7:00  101.056  101.151  101.016  101.130    1822
1      2013.07.09   8:00  101.130  101.257  101.128  101.226    2286
2      2013.07.09   9:00  101.226  101.299  101.175  101.180    2685
3      2013.07.09  10:00  101.178  101.188  101.019  101.154    2980
4      2013.07.09  11:00  101.153  101.239  101.146  101.188    2623

如何将日期列和时间列合并为一列,即日期时间。 我想知道我是否必须将字符串更改为日期。 预先感谢。

【问题讨论】:

【参考方案1】:

如果您有“日期”列作为时间戳,那么您将它们转换为字符串并添加它们,然后将它们转换为时间戳,即

df['Datetime'] = pd.to_datetime(df['Date'].apply(str)+' '+df['Time'])

输出:

日期 时间 开盘 高 低 收盘量 \ 0 2013-07-09 7:00 101.056 101.151 101.016 101.130 1822 1 2013-07-09 8:00 101.130 101.257 101.128 101.226 2286 2 2013-07-09 9:00 101.226 101.299 101.175 101.180 2685 3 2013-07-09 10:00 101.178 101.188 101.019 101.154 2980 4 2013-07-09 11:00 101.153 101.239 101.146 101.188 2623 约会时间 0 2013-07-09 07:00:00 1 2013-07-09 08:00:00 2 2013-07-09 09:00:00 3 2013-07-09 10:00:00 4 2013-07-09 11:00:00

【讨论】:

非常感谢 Bharath shetty。您能告诉我如何指定哪些数据是字符串、日期或时间格式吗? 您可以使用print(df.dtypes) 了解每列的类型。 @Bharath shetty 如何将此新列替换为我的数据框中的日期和时间列? 获取日期时间列后删除列,即df.drop(df[['Date','Time']], axis=1)【参考方案2】:
dataframe["Date Time"] = dataframe["Date"].map(str) + dataframe["Time"]

更新

格式化可以使用的日期

dataframe["Date Time"] =pd.to_datetime(dataframe["Date"].map(str) +'-'+ dataframe["Time"])

您可以从数据框中删除那些 DateTime 列,而不是替换。像这样

del dataframe["Date"], dataframe["Time"]

【讨论】:

感谢 R.A.Munna 但我认为这不是日期格式,不是吗。如何更改为日期时间格式。我希望这个新列将替换我的数据框中的日期和时间列

以上是关于如何组合日期列和时间列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

只有一个日期列和重复条件的 SQL 岛

将日期列和时间列合并到日期时间

如何在 Pandas 中将日期列和相关列一起取消嵌套?

如何在sql中减去两个日期列和两个时间列

在csv文件中分割日期[重复]

创建存储过程以比较日期列和更新状态列