如何从列表(或pandas.Series of lists)中轻松提取功能?

时间:2017-10-25 18:00:23

标签: python list pandas feature-extraction

问题

我在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"类别。

1 个答案:

答案 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中的每个字符串,并返回一个虚拟/指示变量帧。它方便地为字符串提供了分隔符参数,默认为' |'。