【发布时间】:2018-10-29 23:34:39
【问题描述】:
我在这里没有找到非常适合我的情况的帖子。我有一个 csv 文件,其中第一列是年(2002 年),第二列是月份(一月),第三列是 MonthCode(1 表示一月等)。我想导入 Pandas 数据框以创建完整日期索引。下面的代码给出了一个错误,但应该告诉你我正在尝试做什么。
错误是: ValueError: 时间数据 '2002' 与格式 '%Y%b%d' 不匹配
注意:我的数据中没有月份中的某一天,因此我必须使用第一天或最后一天,除非有办法仅对没有日期的年份和月份进行索引。
数据如下:
Year Month Month Code District Code District
2002 January 1 1 Albany
2002 January 1 2 Allegany
2002 January 1 3 Broome
2002 January 1 4 Cattaraugus
2002 January 1 5 Cayuga
不起作用的代码:
file = 'C:/.../snap.csv'
parser = lambda date: pd.datetime.strptime(date, '%Y%b%d')
# create dataframe from csv file
snapdf = pd.read_csv(file, parse_dates = [0,1], date_parser = parser)
# NOTE: I also tried parse_dates = [0,2] but same error
【问题讨论】: