问题
我在python中有以下pandas系列:
df.Categories
输出:
01 Crime, Reality-TV
02 Game-Show, Reality-TV
03 Reality-TV
可以将其视为一系列列表:
01 [Crime, Reality-TV]
02 [Game-Show, Reality-TV]
03 [Reality-TV]
我想做什么
我想以某种方式从中提取功能:
1 0 1
0 1 1
0 0 1
第一栏显示"犯罪"类别,第二列表示"游戏展示"类别和第三列表示" Reality-TV"类别。
答案 0 :(得分:3)
您可以使用get_dummies,假设该列是没有列表的列
new_df = df['Categories'].str.get_dummies(', ')
Crime Game-Show Reality-TV
0 1 0 1
1 0 1 1
2 0 0 1
我们在这里使用series.get_dummies。它通过sep拆分Series中的每个字符串,并返回一个虚拟/指示变量帧。它方便地为字符串提供了分隔符参数,默认为' |'。