我想创建一个执行Map的新列。例如,如果col1只包含Ted值,那么我想使MapTed,如果它包含Ted和Not Ted,我想使MapBoth,如果它只包含Not Ted值,我想使MapNot Ted。
我知道如何在两个条件下做,因为我可以使用np.where..但这更棘手因为有三个条件如何在python或pandas中做到这一点?
- 输入:**
col1
Ted, Ted
Ted, Not Ted
Not Ted, Not Ted
Not Ted, Ted
Ted, Ted
- 预期输出:**
col1 new_col
Ted, Ted Ted
Ted, Not Ted Both
Not Ted, Not Ted Not Ted
Not Ted, Ted Both
Ted, Ted Ted
6条答案
按热度按时间j7dteeu81#
使用
split
和 * set operations *:输出:
ijxebb2r2#
使用
explode
和groupby
:或者:
或者,使用(冻结)设置操作:
输出:
blpfk2vs3#
你可以使用
.apply
来创建你的 Dataframe 。jdgnovmf4#
你可以使用lambda函数来检查,然后使用
apply
,如下所示:也可以使用
np.where
:wgx48brx5#
下面是一种使用
str.get_dummies()
的方法输出:
gudnpqoy6#