python - 如何迭代 csv 文件的行并根据特定列的值删除

标签 python csv pandas jupyter

基本上,我需要从 csv 文件中删除“县”列的值不包含“县”一词的某些行。我试图将其推回到我的数据框中,但是我收到了索引错误。

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]])

我收到以下错误:

索引错误:索引 2959 超出尺寸为 2909 的轴 1 的范围

给出以下两行。我想去掉第一行。

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)]

最佳答案

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

关于python - 如何迭代 csv 文件的行并根据特定列的值删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35428032/

相关文章:

python - OpenCV:无法使用 FaceTime

python - Python 中的图像处理工具箱(MATLAB)

mysql - 如何以 CSV 格式输出 MySQL 查询结果?

python - CSV Writer 在 Excel 2013 中按顺序截断字符

python - 创建一个 Pandas 表

python - Pandas shift 将丢弃的元素移动到开头

java - 如何以与 setLength 属性类似的方式在 python 中设置字符串的固定长度 java

python - 批处理运行时显示或留下 python 错误消息

c++ - TXT 或 CSV 到 C++ 映射

python - 如何计算 python 中我的列中的行的编辑比/距离?