我有一列想要转换为1和0的所有文本。首先,我想将该列中的特定值列表转换为1,并将所有其他值转换为0。
因此在下面的示例中,我想将单词“ mix”和“ remix”转换为1,而将所有其他值转换为0。
我正在熊猫中尝试这样做,而且我确实知道如何转换值,但是在将所有其他值都转换为零时遇到了麻烦。
DF:
ID Value
abc123 mix
abc123 remix
abc123 original
abc123 original
xyz987 mix
xyz987 mix
xyz987 original
xyz987 original
xyz987 unofficial
xyz987 unofficial
输出:
ID Value
abc123 1
abc123 1
abc123 0
abc123 0
xyz987 1
xyz987 1
xyz987 0
xyz987 0
xyz987 0
xyz987 0
然后,我想对每个唯一值的“值”列求和,以使输出看起来像:
abc123 2
xyz987 2
任何帮助将不胜感激!
答案 0 :(得分:2)
isin
链与groupby
sum
df.Value.isin(['mix','remix']).groupby(df.ID).sum()
Out[429]:
ID
abc123 2.0
xyz987 2.0
Name: Value, dtype: float64