通过函数或类组合DataFrame中的列

问题描述 投票:-1回答:1

我有3列:天,月,小时,用于建立引用日期的新列(系列),其中年是常数输入(即2020)。有一种使用单个值执行此操作的方法:我将使用datetime类并输入int。但是,如何使用Series输入而不是int输入呢?在此先感谢

import pandas as pd
from datetime import datetime

days_lst = ['days', 1, 1, 2, 2, 3, 3]
hours_lst = ['hours', 0, 12, 0, 12, 0, 12]
months_lst = ['months', 1, 1, 1, 1, 1, 1]
year = 2020
df1 = pd.DataFrame(days_lst[1:], columns=['days'])
df1[hours_lst[0]] = pd.Series(hours_lst[1:])
df1[months_lst[0]] = pd.Series(months_lst[1:])
df1['year'] = 2020
df1['date'] = datetime(year=df1['year'], month=df1['months'], day=df1['days'], hour=['hours'])

通过尝试最后一行,我收到以下错误:

raise TypeError("cannot convert the series to " "{0}".format(str(converter)))
python pandas
1个回答
1
投票

您可以使用pd.to_datetime执行类似操作:

pd.to_datetime
© www.soinside.com 2019 - 2024. All rights reserved.