我是使用pandas的新手,我正在尝试使用与此类似的代码访问我的(日期索引)数据框df
:
for idx, row in df.iterrows():
if idx < startrow:
continue
col1_data = df.iloc[idx]['col1']
我收到以下错误:
cannot do positional indexing on <class 'pandas.core.indexes.datetimes.DatetimeIndex'> with these indexers [2016-08-01 00:00:00] of <class 'pandas._libs.tslib.Timestamp'>
我该如何解决这个问题?
答案 0 :(得分:8)
iloc
必须为loc
,前者为integer-location based indexing;要按标签选择行(或实际索引为idx
),您需要loc
:
col1_data = df.loc[idx]['col1']