Python到_datetime(从int/float到3列)
我的数据集中有3列:年(int)、月(int)、日(float)。 我想用to_datetime创建一个日期列 链接到示例数据的图片: 链接到整个数据集: 我试图将这3列转换为3个int或3个字符串,但总是出现相同的错误-day超出范围 我的问题是: 1) 我应该使用什么列格式才能使用_datimetime-int或string 2) 我可以或者如何从3列中创建一个日期,并使用to_datetime?还是我必须先把这三列列连接起来 3) 我如何才能消除这一“天超出范围的问题”? 我问过谷歌博士,但没有一个解决方案对我有效Python到_datetime(从int/float到3列),python,pandas,date,datetime,Python,Pandas,Date,Datetime,我的数据集中有3列:年(int)、月(int)、日(float)。 我想用to_datetime创建一个日期列 链接到示例数据的图片: 链接到整个数据集: 我试图将这3列转换为3个int或3个字符串,但总是出现相同的错误-day超出范围 我的问题是: 1) 我应该使用什么列格式才能使用_datimetime-int或string 2) 我可以或者如何从3列中创建一个日期,并使用to_datetime?还是我必须先把这三列列连接起来 3) 我如何才能消除这一“天超出范围的问题”? 我问过谷歌博士,
data['td'] = pd.to_datetime(data['year'])
data['tm2'] = td + timedelta(days=1)
如何将月和日列添加到第一行
date\u series=pd.to\u datetime(df)
将为您提供日期时间序列,然后您可以将其附加到初始数据帧中import numpy as np
import pandas as pd
data = pd.DataFrame(columns=['Year', 'Month', 'Day'])
data = data.append({'Year': 2019, 'Month': 10, 'Day': 20}, ignore_index=True)
date_series = pd.to_datetime(data)
data['Date'] = date_series
数据的输出
:
Year Month Day Date
0 2019 10 20 2019-10-20
编辑
import numpy as np
import pandas as pd
data = pd.DataFrame(columns=['Year', 'Month', 'Day', 'Gender', 'No. of Births'])
data = data.append({'Year': 2019, 'Month': 10, 'Day': 20, 'Gender': 'M', 'No. of Births': 5}, ignore_index=True)
date_prep = data.iloc[:, 0:3]
date_series = pd.to_datetime(date_prep)
data['Date'] = date_series
所以顺序是:1)将float更改为int 2)使用代码创建日期时间序列3)将此序列附加到我的数据帧?它将从我的3列中创建日期,年/月/日?我该怎么做?对。基本上,在这里用实际数据代替我的虚拟变量就可以了。除非dataframe中有其他列,否则可以通过索引指定要转换为datetime的列。如果你能为你的数据添加一个样本,它可能会帮助我给你一个更详细的答案。我的数据集中总共有5列(year-int,month-int,day-float,gender-str,number of birth-int)。我对第三点有问题-如何用另外两列将dateseries附加到现有数据集中?@Ela请参见上面的编辑。基本上,您将把三个y/m/d列分离成一个子集,从中创建一个日期时间序列并附加它(最后一行正好如此)。首先,我非常感谢您的帮助。其次,我不知道我是否做错了什么,或者问题出在哪里——您的代码可以工作,但它只创建了一个新行,并且我看不到原始数据集中的数据。有一个新的日期列,但没有我的数据集。我做错了什么?