【发布时间】:2017-09-17 10:30:54
【问题描述】:
我从 python、pandas 和 matplotlib 开始。我正在处理超过百万个条目的数据。我正在尝试更改日期格式。在 CSV 文件中,日期格式为 23-JUN-11。我想用未来的日期来绘制每个候选人的捐款金额。如何将日期格式转换为 pandas 可读的格式?
Here is the link to cut file 149 entries
我的代码:
%matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
第一个候选人
reader_bachmann = pd.read_csv('P00000001-ALL.csv' ,converters={'cand_id': lambda x: str(x)[1:]},parse_dates=True, squeeze=True, low_memory=False, nrows=411 )
date_frame = pd.DataFrame(reader_bachmann, columns = ['contb_receipt_dt'])
数据切片
s = date_frame.iloc[:,0]
date_slice = pd.Series([s])
date_strip = date_slice.str.replace('JUN','6')
尝试转换为新的日期格式
date = pd.to_datetime(s, format='%d%b%Y')
print(date_slice)
这是错误信息
ValueError: could not convert string to float: '05-JUL-11'
【问题讨论】:
-
请显示一个日期的例子 - 因为它在 csv 中
-
@GiantsLoveDeathMetal 列名是 contb_receipt_dt,日期格式是 6/20/2011
-
但是当我打印数组时,熊猫将其视为日期格式 23-JUN-11
-
能否请您发布 CSV 的 sn-p,151MB 有点大。仅仅一百行就足以解决这个问题,是吗?
-
@JimFactor 我发布了一个新链接,其中包含文件 149 条目的较小版本。
标签: python csv pandas datetime numpy