我使用pandas.to_datetime来解析数据中的日期。默认情况下,Pandas使用datetime64[ns]表示日期,即使日期都是每天。我想知道是否有一种优雅/聪明的方法将日期转换为datetime.date或datetime64[D],这样,当我将数据写入CSV时,日期不会附加00:00:00。我知道我可以逐个元素地手动转换类型:
[dt.to_datetime().date() for dt in df.dates]
但这真的很慢,因为我有很多行,这有点违背了使用pandas.to_datetime的目的。有没有办法一次转换整个列的dtype?或者,pandas.to_datet
一列有日期,另一列有包含日期的字符串,所以我首先需要从该字符串中提取日期部分。
import pandas as pd
import datetime
from dateutil.relativedelta import relativedelta
# the dataframe - id column always starts with year, month and day
df = pd.DataFrame({'id': ['19520630F8', '19680321A5', '19711113E2'],
我的CSV数据是这样的-
Date Time
1/12/2019 12:04AM
1/12/2019 12:09AM
1/12/2019 12:14AM
诸若此类
我正试着用以下的方式阅读这个文件-
import pandas as pd
import numpy as np
data = pd.read_csv('D 2019.csv',parse_dates=[['Date','Time']])
print(data['Date_Time'].dt.month)
当我试图通过dt访问器访问该年时,该年打印的