我有一个数据帧,当使用特定列的值将字典返回的值用作字典键以返回键值时,我需要过滤掉行。
我已经能够基于列的值过滤行,但是当我尝试以类似的方式在字典中使用列的值时,it会返回错误。
TypeError: 'Series' objects are mutable, thus they cannot be hashed
indexNames = df[ accounting_type_dict[df['fund_id']] == 'ETFs' ].index
df.drop(indexNames , inplace=True)
答案 0 :(得分:2)
使用map
然后过滤
newdf=df[df['fund_id'].map(accounting_type_dict) == 'ETFs'].copy()
答案 1 :(得分:1)
您可以尝试用dict中的相应值替换该列。 (根据DataFrame的大小,您可能需要使用map而不是replace。)
indexNames = df[ df['fund_id'].replace(accounting_type_dict) == 'ETFs' ].index
df.drop(indexNames , inplace=True)