如何在Python中基于列中的字符串值删除CSV中的行?

如何在Python中基于列中的字符串值删除CSV中的行?,python,pandas,dataframe,csv,anaconda,Python,Pandas,Dataframe,Csv,Anaconda,我有一个很大的CSV文件,我正试图从中删除许多行 我做出这个决定的专栏有许多不同的作物,但我只对其他专栏中的一些作物及其相关数据感兴趣 我尝试过的代码如下: import pandas as pd df = pd.read_csv('C2014.csv') cropnames = ['Cotton', 'Rice', 'Corn'] for crop in cropnames: df = df[df.Nomcultivo !] crop] cropnames中的字符串是“Nomcultiv

我有一个很大的CSV文件,我正试图从中删除许多行

我做出这个决定的专栏有许多不同的作物,但我只对其他专栏中的一些作物及其相关数据感兴趣

我尝试过的代码如下:

import pandas as pd
df = pd.read_csv('C2014.csv')
cropnames = ['Cotton', 'Rice', 'Corn']
for crop in cropnames:
  df = df[df.Nomcultivo !] crop]

cropnames中的字符串是“Nomcultivo”列中我想要的行中的字符串值。我希望这是有意义的。任何帮助都将不胜感激

如果我理解正确,在你的专栏“Nomcultivo”中,你只想要cropnames=['Cotton','Rice','Corn',],那为什么不直接过滤掉呢

import pandas as pd
df = pd.read_csv('C2014.csv')
new = df.Nomcultivo.isin(cropnames)
df[new]
您可以尝试以下方法: 我假设Nomcultivo是包含cropnames的col

cropnames = ['Cotton', 'Rice', 'Corn']
df[df.Nomcultivo.isin(cropnames )]
您正在寻找: