Python 如何使用columns值作为基于其返回值的字典的键来筛选数据行

Python 如何使用columns值作为基于其返回值的字典的键来筛选数据行,python,pandas,dataframe,dictionary,Python,Pandas,Dataframe,Dictionary,我有一个dataframe,当使用特定列的值的字典返回的值用作字典键以返回keys值时,我需要过滤掉其中的行 我已经能够根据columns值筛选行,但是当我尝试以类似的方式在字典中使用columns值时,iit返回一个错误 TypeError:“Series”对象是可变的,因此不能对它们进行散列 indexNames=df[accounting\u type\u dict[df['fund\u id']]=='ETFs']。index drop(indexNames,inplace=True)

我有一个dataframe,当使用特定列的值的字典返回的值用作字典键以返回keys值时,我需要过滤掉其中的行

我已经能够根据columns值筛选行,但是当我尝试以类似的方式在字典中使用columns值时,iit返回一个错误

TypeError:“Series”对象是可变的,因此不能对它们进行散列
indexNames=df[accounting\u type\u dict[df['fund\u id']]=='ETFs']。index
drop(indexNames,inplace=True)

使用
映射
然后过滤

newdf=df[df['fund_id'].map(accounting_type_dict) == 'ETFs'].copy()

您可以尝试用dict中相应的值替换列。(根据数据帧的大小,您可能需要使用map而不是replace。)

indexNames = df[ df['fund_id'].replace(accounting_type_dict) == 'ETFs' ].index
df.drop(indexNames , inplace=True)