假设我有一个数据框,其中包含以下元素:Element
0 a_1
1 a_2
2 b_1
3 a_3
4 b_2
.....
诸若此类。
现在假设我有两个类别A
和B
。每个元素都属于这些类别之一,假设我有列表As = [a_1, a_2, ...]
和Bs = [b_1, b_2, ...]
我想要做的是将列Category
添加到df:Element Category
0 a_1 A
1 a_2 A
2 b_1 B
3 a_3 A
4 b_2 B
.....
也就是说,我们将查询df的每一行,检查元素是否在这些列表中,并且新列的值将是它所在的列表。每个元素都将位于这些列表中的一个列表中。
我该如何着手做这件事呢?
我曾考虑通过检查每一行来为新列创建一个新的数组Via for循环,但我觉得应该有一种更时髦、更典型的方法来实现这一点。
2条答案
按热度按时间yx2lnoni1#
不使用列表,而是使用字典,并将其反转为与
map
一起使用:输出:
34gzjxbg2#
使用np.where和numpy.in1d
代码
其中: