【发布时间】:2020-06-16 19:09:34
【问题描述】:
我的数据框如下:
a
0 [8, 10]
1 [12, 7, 9]
如您所见,a 列包含一个列表。该列表中的数字在我们的领域中具有意义,我想将它们用作特征。我的预期输出如下:
Tag_7 Tag_8 Tag_9 Tag_10 Tag_12
0 0 1 0 1 0
1 1 0 1 0 1
我使用了一些从互联网上找到的方法,它们满足了我的期望,但这些方法存在执行时间问题。其中之一如下:
pd.get_dummies(df.a.apply(pd.Series).stack().astype(int), prefix='Tag').sum(level=0)
我认为这种方法对于小型数据集很有用。就我而言,它没有用。我需要帮助。 提前致谢。祝你有美好的一天
【问题讨论】:
-
也许
pd.Series(['|'.join(map(str, x)) for x in df['a']]).str.get_dummies().add_prefix('Tag_')
标签: python pandas dataframe series