我有一个两列的数据集,我想对其进行整形。
看看这个假的 df:
df=pd.DataFrame([
['Alex', 'Apple'],['Bob', 'Banana'],['Clark', 'Citrus'], ['Diana', 'Banana'], [
'Elisa', 'Apple'], ['Frida', 'Citrus'], ['George', 'Citrus'], ['Hanna', 'Banana']
],columns=['Name', 'Fruit'])
我想要四列; Name、Apple、Banana 和 Citrus,其中后三个是 bool 值(真/假)。
我看过 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
关于python - 使用 Pandas 将字符串列更改为多个 bool 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147641/