删除数据框中的行,直到找到 python 的特定值

delete rows in a dataframe untill it finds a certain value with python

所以我需要这段代码来不断删除行,直到 A1 单元格是一个特定的字符串,我试过这个:

while table[0][0] != 'Nº TAD':
    table = table.drop(table.index[0])

但循环似乎比我想要的要多,我不知道为什么

您可以像这样遍历行:

for index, row in table.iterrows():
   if row["col_name"] == 'Nº TAD':
        break
   table.drop([index],inplace=True)

这就是你想要的。只需将 if-check 与您要检查的 string 交换即可。 df 是你的 DataFrame.

In[16]: df
Out[16]: 
   0  1  2  3
0  1  2  3  4
1  1  2  3  4
2  1  2  3  4
3  5  6  7  8

In[17]: new_df = df
   ...: for num, row in enumerate(df.values):
   ...:     if row[0] == 5:
   ...:         break
   ...:     else:
   ...:         new_df = new_df.drop(num)
   ...:   
  
In[18]: new_df
Out[18]: 
   0  1  2  3
3  5  6  7  8