【发布时间】:2018-12-17 07:12:54
【问题描述】:
我有一个名为 df 的数据框,它看起来像 -
pageno entity code rawentity
17727425 SAUDI CBCNTRY saudi
17727425 GARRA DRWRNAME garra
17727425 PO BOX RBCNTRY po box
17727425 NEW ZEALAND DRWRCNTRY new zealand
我还有一个包含国家名称的国家列表。它是“列表”类型。
我试图只保留那些代码为 - CBCNTRY 或 RBCNTRY 或 DRWRCNTRY 的值,并且实体应位于国家/地区列表。
我写的代码是-
for row in df.itertuples():
if(row.code in ['DRWRCNTRY', 'RBCNTRY', 'CBCNTRY']):
if(row.entity not in countrylist):
df.drop((row.index), inplace=True)
但我收到以下错误 -
Error is: labels [<built-in method index of Pandas object at 0x0000020A1BCE4EB8>] not contained in axis
我只是想知道为什么我的方法是错误的,除了这个方法之外我还能做些什么更好的事情。
我已经搜索过这个错误,但我无法得到满意的答案。
【问题讨论】:
-
这里的国家列表是什么?
-
您在遍历数据框时正在删除行。你不应该这样做。请参阅@chuni0r 的回答。
标签: python python-3.x pandas dataframe