pandas - 将两个数据框列中的时间和日期合并到一个日期时间列
pandas - combine time and date from two dataframe columns to a datetime column
这是 中已接受解决方案的后续问题。
我有一个 pandas 数据框:
一列 'time' 是按以下格式存储的时间:'HHMMSS
'(例如 203412 表示 20:34:12)。
在另一列 'date' 中,日期以以下格式存储:“YYmmdd
”(例如 200712 表示 2020-07-12)。 YY
表示 2000 年的插件。
示例:
import pandas as pd
data = {'time': ['123455', '000010', '100000'],
'date': ['200712', '210601', '190610']}
df = pd.DataFrame(data)
print(df)
# time date
#0 123455 200712
#1 000010 210601
#2 100000 190610
我需要第三列,其中包含其他两列的组合日期时间格式(例如 2020-07-12 12:34:55
)。到目前为止,我只能修改时间,但我不知道如何添加日期。
df['datetime'] = pd.to_datetime(df['time'], format='%H%M%S')
print(df)
# time date datetime
#0 123455 200712 1900-01-01 12:34:55
#1 000010 210601 1900-01-01 00:00:10
#2 100000 190610 1900-01-01 10:00:00
如何在第 df['datetime']
列中添加第 df['date']
列中的日期,以便数据框为:
time date datetime
0 123455 200712 2020-07-12 12:34:55
1 000010 210601 2021-06-01 00:00:10
2 100000 190610 2019-06-10 10:00:00
我找到了这个 question,但我不确定如何将它用于我的目的。
您可以先连接列,然后指定格式:
df['datetime'] = pd.to_datetime(df['date'] + df['time'], format='%y%m%d%H%M%S')
print(df)
time date datetime
0 123455 200712 2020-07-12 12:34:55
1 000010 210601 2021-06-01 00:00:10
2 100000 190610 2019-06-10 10:00:00
如果可能是整数列:
df['datetime'] = pd.to_datetime(df['date'].astype(str) + df['time'].astype(str), format='%y%m%d%H%M%S')
这是
我有一个 pandas 数据框:
一列 'time' 是按以下格式存储的时间:'HHMMSS
'(例如 203412 表示 20:34:12)。
在另一列 'date' 中,日期以以下格式存储:“YYmmdd
”(例如 200712 表示 2020-07-12)。 YY
表示 2000 年的插件。
示例:
import pandas as pd
data = {'time': ['123455', '000010', '100000'],
'date': ['200712', '210601', '190610']}
df = pd.DataFrame(data)
print(df)
# time date
#0 123455 200712
#1 000010 210601
#2 100000 190610
我需要第三列,其中包含其他两列的组合日期时间格式(例如 2020-07-12 12:34:55
)。到目前为止,我只能修改时间,但我不知道如何添加日期。
df['datetime'] = pd.to_datetime(df['time'], format='%H%M%S')
print(df)
# time date datetime
#0 123455 200712 1900-01-01 12:34:55
#1 000010 210601 1900-01-01 00:00:10
#2 100000 190610 1900-01-01 10:00:00
如何在第 df['datetime']
列中添加第 df['date']
列中的日期,以便数据框为:
time date datetime
0 123455 200712 2020-07-12 12:34:55
1 000010 210601 2021-06-01 00:00:10
2 100000 190610 2019-06-10 10:00:00
我找到了这个 question,但我不确定如何将它用于我的目的。
您可以先连接列,然后指定格式:
df['datetime'] = pd.to_datetime(df['date'] + df['time'], format='%y%m%d%H%M%S')
print(df)
time date datetime
0 123455 200712 2020-07-12 12:34:55
1 000010 210601 2021-06-01 00:00:10
2 100000 190610 2019-06-10 10:00:00
如果可能是整数列:
df['datetime'] = pd.to_datetime(df['date'].astype(str) + df['time'].astype(str), format='%y%m%d%H%M%S')