Python 如何使用columns值作为基于其返回值的字典的键来筛选数据行
我有一个dataframe,当使用特定列的值的字典返回的值用作字典键以返回keys值时,我需要过滤掉其中的行 我已经能够根据columns值筛选行,但是当我尝试以类似的方式在字典中使用columns值时,iit返回一个错误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)
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)