如何合并 pandas DataFrame 中的 2 列?

How to combine 2 columns in pandas DataFrame?

Hello! This is a CSV table.我试图将 CSV 输出与 Python 结合起来创建甘特图。 CSV 文件中的每一列表示一个日期时间,例如 start1 是小时,start2 - 分钟。之后,我使用 pd.to_datetime(data["start1"], format="%H") 进行正确的格式化。与 start2 相同。 事情是这样的:我如何将 pandas DataFrame 中的这两列组合起来以获得 "%H-%M" 格式的一列?像数据[“开始”]。这是 data.head() output and 代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import timedelta

#import data
data = pd.read_csv('TEST.csv')

#convert data str to "datetime" data
data["start1"] = pd.to_datetime(data["start1"], format="%H")
data["start2"] = pd.to_datetime(data["start2"], format="%M")
data["end1"] = pd.to_datetime(data["end1"], format="%H")
data["end2"] = pd.to_datetime(data["end2"], format="%M")

在将数据类型更改为日期时间之前,您可以像这样添加一个附加列:

data["start"] = data["start1"] + '-' + data["start2"]
data["start"] = pd.to_datetime(data["start"], format="%H-%M")
# then do the other conversions.

尝试:

data["start"] = pd.to_datetime(data["start1"].astype(str).str.pad(2, fillchar="0") + 
                               data["start2"].astype(str).str.pad(2, fillchar="0"), 
                               format="%H%M")
data["end"] = pd.to_datetime(data["end1"].astype(str).str.pad(2, fillchar="0") + 
                             data["end2"].astype(str).str.pad(2, fillchar="0"), 
                             format="%H%M")