Python iterrows()从Dataframe索引和删除行

时间:2019-01-23 16:40:40

标签: python pandas dataframe

我正在遍历df,并希望根据条件删除行。这就像检查字符字符串的内容,如果字符不存在则丢弃。我已经尝试了以下代码,但有例外。如何访问第三列的迭代行值并检查是否包含。

for index, row in df_new.iterrows():
    if not row[2].contains(','):
        df_new.drop(index, inplace = True)

它引发的异常是:AttributeError: 'str' object has no attribute 'contains'

我尝试了各种字符串分配,例如:

for index, row in df_new.iterrows():
    string = str(row[2])
    if not string.contains(','):
        df_new.drop(index, inplace = True)

2 个答案:

答案 0 :(得分:2)

做起来可能会更快。

df_new = df_new[~df_new.Column_name.str.contains(",")]

答案 1 :(得分:1)

使用in运算符:

for index, row in df_new.iterrows():
    if ',' not in str(row[2]):
        df_new.drop(index, inplace = True)