基本上我需要从csv文件中删除某些行,其中'County'列的值不包含单词county。我正试图将其推回到我的数据帧中,但是,我得到了一个索引错误。
chd = pd.read_csv('some_file.csv')
for index, row in chd.iterrows():
if 'County' not in row['County']:
chd = chd.drop(chd.index[[index,3]])
我收到以下错误:
IndexError:索引2959超出了轴1的大小为2909的范围
给出以下两行。我想摆脱第一排。
STATECODE COUNTYCODE State County Some_Column
1 0 AL Alabama 9,508
1 0 AL Alabama County 9,508
我已经尝试了以下似乎不会删除任何行。如果我打印数据框,它将保持不变。
chd = pd.read_csv('some_file.csv')
chd[chd['County'].str.contains('county', case=False)]
答案 0 :(得分:2)
IIUC然后您可以chd[chd['Count'].str.contains('county', case=False)]
删除不包含您的值的行
您收到错误的原因是因为您正在迭代df并删除行,因此您的索引值会变异并且无效
示例:
In [123]:
df = pd.DataFrame({'County':['Alaska', 'Big county', 'Country', 'No county', 'County']})
df[df['County'].str.contains('county', case=False)]
Out[123]:
County
1 Big county
3 No county
4 County