Python-Pandas。根据列表中列的存在重新分配列的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-Pandas。根据列表中列的存在重新分配列的值相关的知识,希望对你有一定的参考价值。
我想检查dataframe列(item_type)的值是否存在于一个列表中。如果不存在,我想将现有的列值重新分配给另一个值。这是我正在尝试的代码。
item_cat = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
pdata['item_type'] = np.where((pdata['item_type'] not in item_cat) , 'I', pdata['item_type'])
我得到了下面的错误。
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
我该如何解决这个问题呢?
答案
item_cat = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
a = pd.Series(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'Z'])
a.loc[~a.isin(item_cat)] = 'I'
以上是关于Python-Pandas。根据列表中列的存在重新分配列的值的主要内容,如果未能解决你的问题,请参考以下文章