【发布时间】:2023-04-06 14:14:01
【问题描述】:
我有一个如下图所示的DF:
DF =
id Result
1 Li_In-AR-B
1 Li_In-AR-L
3 N
4 Lo_In-AR-U
5 Li_In-AR-U
6 Or_Ba-AR-B
6 Or_Ba-AR-L
7 N
现在我想在第一个“-”之前为Result 中的每个唯一值创建新列。新列中的所有其他值都应设置为N。
DF =
id Result Li_In Lo_In Or_Ba
1 Li_In-AR-B Li_In-AR-B N N
1 Li_In-AR-L Li_In-AR-L N N
3 N N N N
4 Lo_In-AR-U N Lo_In-AR-U N
5 Li_In-AR-U Li_In-AR-U N N
6 Or_Ba-AR-B N N Or_Ba-AR-B
6 Or_Ba-AR-L N N Or_Ba-AR-L
7 N N N N
我以为我可以使用 .get_dummies 轻松做到这一点,但这只会在每个单元格中返回一个二进制值。
DF_dummy = DF.Result.str.get_dummies(sep='-')
DF = pd.concat([DF,DF_dummy ],axis=1)
任何想法
【问题讨论】:
标签: python pandas dataframe dummy-data