python - 使用 Pandas 将字符串列更改为多个 bool 列

标签 python pandas

我有一个两列的数据集,我想对其进行整形。
看看这个假的 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/

相关文章:

python - xarray 仅选择该月第一天的时间步长

python - 从文件中读取模式并使用python写入另一个文件

python - 循环 e​​xcel 文件,再添加一列并用 Python 保存

python - 如何验证两个不同的 .csv 文件列 id 是否与 python 匹配?

python - 如何根据规则将DataFrame的每一行拆分为两行?

python - 使用 pandas.DataFrame.to_csv() 按列输出不同的精度?

pandas - 匹配列名时出现值错误

python - Opencv python HoughLinesP 奇怪的结果

python - Python 中的束搜索

python - Xcode 中的 LLDB Python 脚本