更改列中的多个值(“状态”)的最佳方法是什么?这两个值与您要分析的仅两个值不同?
举个例子,我的df是:
git show
commit 429c7abcede0cd8874b70f2c37ea8f8e3e2d57e1 (HEAD -> CoreMigration, origin/CoreMigration)
最后,我希望:
Id Status Email Product Age
1 ok g@ A 20
5 not ok l@ J 45
1 A a@ A 27
2 B h@ B 25
2 ok t@ B 33
3 C b@ E 23
4 not ok c@ D 30
最大的困难是我的df非常大,所以我不知道所有其他的值与'ok'和'not ok'不同(我想要分析的值)。 提前谢谢!
答案 0 :(得分:2)
np.where
+ isin
df.Status=np.where(df.Status.isin(['ok','not ok']),df.Status,'Others')
df
Out[384]:
Id Status Email Product Age
0 1 ok g@ A 20
1 5 not ok l@ J 45
2 1 Others a@ A 27
3 2 Others h@ B 25
4 2 ok t@ B 33
5 3 Others b@ E 23
6 4 not ok c@ D 30
答案 1 :(得分:0)
使用申请
df['Status'] = df.apply(lambda x: 'other' if x['Status'] not in ['ok', 'not ok'] else x['Status'], axis=1)