我有以下数据框df
:
id lat lon year month day
0 381 53.30660 -0.54649 2004 1 2
1 381 53.30660 -0.54649 2004 1 3
2 381 53.30660 -0.54649 2004 1 4
我想创建一个新列df['Date']
,其中year
,month
和day
列按照格式结合yyyy-m-d
。
我做了:
`df['Date']=pd.to_datetime(df['year']*10000000000
+df['month']*100000000
+df['day']*1000000,
format='%Y-%m-%d%')`
结果不是我所期望的,因为它从1970年而不是2004年开始,并且还包含小时戳,我没有指定:
id lat lon year month day Date
0 381 53.30660 -0.54649 2004 1 2 1970-01-01 05:34:00.102
1 381 53.30660 -0.54649 2004 1 3 1970-01-01 05:34:00.103
2 381 53.30660 -0.54649 2004 1 4 1970-01-01 05:34:00.104
由于日期应采用2004-1-2
格式,我在做什么错?
有一个更简单的方法:
In [250]: df['Date']=pd.to_datetime(df[['year','month','day']])
In [251]: df
Out[251]:
id lat lon year month day Date
0 381 53.3066 -0.54649 2004 1 2 2004-01-02
1 381 53.3066 -0.54649 2004 1 3 2004-01-03
2 381 53.3066 -0.54649 2004 1 4 2004-01-04
来自docs:
从DataFrame的多个列中组合一个日期时间。这些密钥可以像常见缩写[
year
,month
,day
,minute
,
second
,ms
,us
,ns
])或相同的复数
问题内容: 我有 我想要 问题答案:
我有一个日值(1-31)、一个月值(1-12)和一个年值,我需要将它们保存为我的MySQL数据库日期格式。 如何将这些值(对应于日、月和年的3个整数)转换为日期格式以将其保存到数据库中?
问题:我如何将年和月数据合并为一个MM/DD/YYYY日期,而不将数字类型转换为字符类型? 我有需要读入SAS的日期数据。它分为两栏:年和月。数据看起来如下所示: 我通过以下方式实现了这一点: 但是,日志给出了以下说明: 注意:数值已在:(行):(列)给出的位置转换为字符值。 虽然上面的代码充分解决了我的问题,但注释暗示不应该以这种方式(通过类型转换)处理日期格式。
问题内容: 我在sql server中有一个datetime列及其可选字段,如果用户决定不输入,那么我想在表中插入NULL值,并定义如下内容: 当我插入sql server时,我在asp.net中有此代码 但问题是:其插入 在SQL表而不是 我在这里做错了什么? 更新: 问题答案: 假设您有: 如果您想插入SQL NULL,那么您应该下一步: 意思是: 如果要在函数中注意可空的datetime,则
我有像“2020年4月20日”这样的字符串。我想将字符串转换为DateTime()。 我面临的问题是DateTime.parse()不接受月份名称。
我有两个下拉列表,一个是年份下拉列表,显示当前年份,另一个是从当前年份开始的两年。我有一个月下拉列表,显示所有12个月。我想在选择页面中单击“提交”后,在下一个jsp中水平显示用户所选月份(以月为单位)下拉列表和所选年份(以年为单位)下拉列表中从1日到31日的所有日历日期。Java语言