我知道这个问题有很多类似的类型,但我无法通过现有的答案找到解决办法。这是一个简单的问题,但我仍然被困在这个小问题上。我有一个包含很多列的数据。我想使用两个现有列创建一个新列。像这样的东西:

Index Date         Time
0     26-10-2017   06:00:00
1     26-10-2017   06:15:00
2     26-10-2017   06:30:00

现在我需要一个新列,它应该是这样的:
Index Date         Time       Datetime
0     26-10-2017   06:00:00   26-10-2017 06:00:00
1     26-10-2017   06:15:00   26-10-2017 06:15:00
2     26-10-2017   06:30:00   26-10-2017 06:30:00

我现在无法做到这一点。我目前得到一个带有两个字符串值的元组,但我不想要这个:
Index Date         Time       Datetime
0     26-10-2017   06:00:00   ('26-10-2017', '06:00:00')
1     26-10-2017   06:15:00   ('26-10-2017', '06:15:00')
2     26-10-2017   06:30:00   ('26-10-2017', '06:30:00')

我正在使用以下代码:
df5['Datetime'] = list(zip(df5.Date, df5.Time))

无论如何,我是否可以按照我想要的方式而不是在元组中获得值?

最佳答案

假设列是字符串,将它们相加并使用 pd.to_datetime

df.assign(DateTime=pd.to_datetime(df.Date + ' ' + df.Time))

   Index        Date      Time            DateTime
0      0  26-10-2017  06:00:00 2017-10-26 06:00:00
1      1  26-10-2017  06:15:00 2017-10-26 06:15:00
2      2  26-10-2017  06:30:00 2017-10-26 06:30:00

关于python - 如何通过加入 Pandas 中的现有列来创建新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42063034/

10-12 22:47