python - 在 Python 中结合年、月和日来创建日期

标签 python datetime

我有一个数据框,其中包含年、月和日的单独列。我尝试使用以下方法将这些单独的列合并为一个日期:

df['myDt']=pd.to_datetime(df[['year','month','day']])

只会出现以下错误:“组装映射至少需要指定 [年、月、日]:缺少 [日、月、年]”。不确定这意味着什么……我已经提供了相关的专栏。 在检查数据类型时,我发现它们的年、月和日列是 int64。那会引起问题吗? 谢谢, 切特

谢谢大家发帖。按照建议,我首先发布示例数据集: Value mm yy dd Date<br/> 2018-11-30 88.550067 11 2018 1 2018-12-31 88.906290 12 2018 1 2019-01-31 88.723000 1 2019 1 2019-02-28 89.509179 2 2019 1 2019-03-31 90.049161 3 2019 1 2019-04-30 90.523100 4 2019 1 2019-05-31 90.102484 5 2019 1 2019-06-30 91.179400 6 2019 1 2019-07-31 90.963570 7 2019 1 2019-08-31 92.159170 8 2019 1

数据来源为:https://www.quandl.com/data/EIA/STEO_NGPRPUS_M 我导入数据如下: 1.导入quandl(首先使用conda安装) 2.使用Quandl的Python代码:

data=quandl.get("EIA/STEO_NGPRPUS_M", authtoken="TOKEN","2005-01-01","2005-12-31") 4. 请注意,原始数据仅带有 Value 列,并且 DateTime 作为索引。我提取并创建了 mm、yy 和 dd 列(月、年和 dd 是设置为 1 的列向量) 我想要做的就是创建另一个名为“本月的第一天”的列 - 因此对于每个月的每一天,该列将只显示“MM/YY/1”。我将很快尝试下面的所有建议,然后回复你们。谢谢!!

最佳答案

解决方案

您可以将 datetime.datetime.apply() 一起使用。

import datetime

d = datetime.datetime(2020, 5, 17)
date = d.date()

对于 pandas.to_datetime(df)

看起来你的代码没问题。参见 pandas.to_datetime documentationHow to convert columns into one datetime column in pandas? .

df = pd.DataFrame({'year': [2015, 2016],
                   'month': [2, 3],
                   'day': [4, 5]})
pd.to_datetime(df[["year", "month", "day"]])

输出:

0   2015-02-04
1   2016-03-05
dtype: datetime64[ns]

如果 YEAR、MONTH 和 DAY 列的标题不同怎么办?

假设您的 YEAR、MONTH 和 DAY 列分别标记为 yymmdd。并且您希望保持列名不变。在这种情况下,您可以按如下方式进行。

import pandas as pd

df = pd.DataFrame({'yy': [2015, 2016],
                   'mm': [2, 3],
                   'dd': [4, 5]})
df2 = df[["yy", "mm", "dd"]].copy()
df2.columns = ["year", "month", "day"]
pd.to_datetime(df2)

输出:

0   2015-02-04
1   2016-03-05
dtype: datetime64[ns]

关于python - 在 Python 中结合年、月和日来创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58072683/

相关文章:

python - python 中 MATLAB 结构体的替代方案

python - 用于 Python 开发的文件夹和文件组织

python - 使用scapy解析geneve数据包

c# - 无法将 DateTime 从 SQL Server 转换为 C# DateTime

c# - DataGrid 显示错误的日期格式

php - 具体时间和当前时间的区别

python - 处理具有可怕日期时间数据的数据集

python - 使解码后的 MVT 转为人类可读的 TEXT

python - 更改笔记本小部件的选项卡大小

c# - .Net 中用于 MySQL 数据库的日期时间格式