使用 pandas 将字符串列更改为多个布尔列

2024-04-16

我有一个两列的数据集,我想对其进行重塑。
看看这个假的 df:

df=pd.DataFrame([
    ['Alex', 'Apple'],['Bob', 'Banana'],['Clark', 'Citrus'], ['Diana', 'Banana'], [
'Elisa', 'Apple'], ['Frida', 'Citrus'], ['George', 'Citrus'], ['Hanna', 'Banana']
],columns=['Name', 'Fruit'])

我想要四列;名称:Apple、Banana 和 Citrus,其中后三个是布尔值(真/假)。
我看过 inte unstack 但它确实不是我想要的。


我认为这应该是一个很好的用例get_dummies:

df.set_index('Name')['Fruit'].str.get_dummies().astype(bool).reset_index()

     Name  Apple  Banana  Citrus
0    Alex   True   False   False
1     Bob  False    True   False
2   Clark  False   False    True
3   Diana  False    True   False
4   Elisa   True   False   False
5   Frida  False   False    True
6  George  False   False    True
7   Hanna  False    True   False

同样,我们有,

pd.concat([df['Name'], df['Fruit'].str.get_dummies().astype(bool)], axis=1)

     Name  Apple  Banana  Citrus
0    Alex   True   False   False
1     Bob  False    True   False
2   Clark  False   False    True
3   Diana  False    True   False
4   Elisa   True   False   False
5   Frida  False   False    True
6  George  False   False    True
7   Hanna  False    True   False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandas 将字符串列更改为多个布尔列 的相关文章

随机推荐