[英]How to solve this Key Error in Python Data frames?
我收到以下錯誤:
**raise KeyError("{} not found in axis".format(labels[mask]))
KeyError: '[18] not found in axis'**
我正在嘗試根據條件刪除行,我的代碼如下:
PSE2=PSE1
for i in range(1,len(PSE1)):
if PSE1.iloc[[i],[1]].values==PSE1.iloc[[i+1],[1]].values or PSE1.iloc[[i],[1]].values==PSE1.iloc[[i-1],[1]].values:
pass
else:
print(str(i))
print(PSE2.iloc[[i],[1]].values)
PSE2=PSE2.drop([i],axis=0)
PSE1 和 PSE2 是兩個相同的數據幀。
問題可能來自if條件中的[i+1]
。 在循環的最后一步, i = len(PSE1) - 1
所以PSE1.iloc[[i+1],[1]]
將不存在
for i in range(1,len(PSE1)):
if PSE1.iloc[[i],[1]].values==PSE1.iloc[[i+1],[1]].values
要解決此問題,您可以通過以下方式替換if
條件:
if PSE1.iloc[[i],[1]].values==PSE1.iloc[[i-1],[1]].values or
i < len(PSE1)-1 and
PSE1.iloc[[i],[1]].values==PSE1.iloc[[i+1],[1]].values:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.