python – 使用自定义格式的pandas to_datetime中的KeyError

我的DataFrame(TradeData)的索引是字符串格式:
In [30]: TradeData.index
Out[30]: Index(['09/30/2013 : 04:14 PM','09/30/2013 : 03:53 PM',... ],dtype=object)

我希望它能在Datetime.但转换似乎不起作用:

In [31]: TradeDataIdxd = pd.to_datetime(TradeData.index,format="%m/%d/%Y : %I:%M %p")
Traceback (most recent call last):

File "<ipython-input-31-1191c22cd132>",line 1,in <module>
TradeDataIdxd = pd.to_datetime(TradeData.index,format="%m/%d/%Y : %I:%M %p")

File "C:\WinPython-64bit-3.3.2.3\python-3.3.2.amd64\lib\site-packages\pandas\tseries\tools.py",line 128,in to_datetime
return _convert_listlike(arg,Box=Box)

File "C:\WinPython-64bit-3.3.2.3\python-3.3.2.amd64\lib\site-packages\pandas\tseries\tools.py",line 104,in _convert_listlike
result = tslib.array_strptime(arg,format)

File "tslib.pyx",line 1137,in pandas.tslib.array_strptime (pandas\tslib.c:18543)

KeyError: 'p'

TradeData.index的所有元素都不是’p’.任何想法可能是什么问题?提前致谢.

解决方法

您可以通过重置索引,通过map / lambda / strptime操作系列,然后最终再次设置索引来绕过此to_datetime问题.
In [1058]: TradeData.index
Out[1058]: Index([u'09/30/2013 : 04:14 PM',u'09/30/2013 : 03:53 PM',u'09/30/2013 : 03:53 PM'],dtype=object)

In [1059]: index_name = TradeData.index.name

In [1060]: TradeData = TradeData.reset_index()

In [1061]: TradeData[index_name] = TradeData[index_name].map(lambda x: datetime.strptime(x,"%m/%d/%Y
: %I:%M %p"))

In [1062]: TradeData = TradeData.set_index(index_name)

In [1063]: TradeData.index
Out[1063]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-09-30 16:14:00,...,2013-09-30 15:53:00]
Length: 3,Freq: None,Timezone: None

不太简洁,但它具有相同的效果.或者,将其打包成一个函数

def df_index_to_datetime(df,datetime_format):
    index_name = df.index.name
    df = df.reset_index()
    df[index_name] = df[index_name].map(lambda x: datetime.strptime(x,datetime_format))
    df = df.set_index(index_name)
    return df

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...