[英]How do I delete a row in my df based on a specific cell value "['0'] not found in axis"
我有以下 df,我試圖查看第一列中第一行的值是什么,以及它是否等於本例中的預定字符“0”。 我也試過:
if df[col_titles[0]].values[0] == x:
print(True)
df = df.drop(x)
哪個不起作用並且有完全相同的錯誤(在下面發布)。
First Column Name Second Column Name Third Column Name Fourth Column Name
0 0 3 6 4
1 2 5 5 7
df = pd.DataFrame({'First Column Name': ["0", 2],
'Second Column Name': ["3", 5],
'Third Column Name': ["6", 5],
'Fourth Column Name': ["4", 7],
})
col_titles = df.columns.values.tolist()
x = df[col_titles[0]].values[0]
print(x)
if df[col_titles[0]].values[0] == "0":
print(True)
df = df.drop(df[col_titles[0]].values[0])
退貨
0
True
Traceback (most recent call last):
File "test.py", line 42, in <module>
df = df.drop(x)
File "C:\Python38\lib\site-packages\pandas\core\frame.py", line 3990, in drop
return super().drop(
File "C:\Python38\lib\site-packages\pandas\core\generic.py", line 3936, in drop
obj = obj._drop_axis(labels, axis, level=level, errors=errors)
File "C:\Python38\lib\site-packages\pandas\core\generic.py", line 3970, in _drop_axis
new_axis = axis.drop(labels, errors=errors)
File "C:\Python38\lib\site-packages\pandas\core\indexes\base.py", line 5017, in drop
raise KeyError(f"{labels[mask]} not found in axis")
KeyError: "['0'] not found in axis"
所需 output
First Column Name Second Column Name Third Column Name Fourth Column Name
1 2 5 5 7
我們不在這里循環
dfsub = df[df.iloc[:,0]!='0']
Out[13]:
First Column Name Second Column Name Third Column Name Fourth Column Name
1 2 5 5 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.