Tro*_*tis 5 python boolean explode dataframe pandas
早上好,伙计们,
基于某些条件(在这种情况下为 str.contains),任何将数据框列分解为带有布尔标志的多列的 Pythonic 方法?
假设我有这个:
Position Letter
1 a
2 b
3 c
4 b
5 b
Run Code Online (Sandbox Code Playgroud)
我想实现这一目标:
Position Letter is_a is_b is_C
1 a TRUE FALSE FALSE
2 b FALSE TRUE FALSE
3 c FALSE FALSE TRUE
4 b FALSE TRUE FALSE
5 b FALSE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)
可以通过 'abc' 进行循环并显式创建新的 df 列,但想知道 pandas 中是否已经存在某些内置方法。可能值的数量,因此新列的数量是可变的。
感谢致敬。
In [31]: df.join(df.Letter.str.get_dummies())
Out[31]:
Position Letter a b c
0 1 a 1 0 0
1 2 b 0 1 0
2 3 c 0 0 1
3 4 b 0 1 0
4 5 b 0 1 0
Run Code Online (Sandbox Code Playgroud)
或者
In [32]: df.join(df.Letter.str.get_dummies().astype(bool))
Out[32]:
Position Letter a b c
0 1 a True False False
1 2 b False True False
2 3 c False False True
3 4 b False True False
4 5 b False True False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |