python - 如何将一组特征转换为 Pandas 中的计数矩阵

标签 python pandas gensim

给定一个矩阵

----d1 d2 d3 一:v1 0 v2 b: v1 v3 0

我要

----v1 v2 v3 一个:1 1 0 b: 1 0 1

我依稀记得这可以用 Gensim 来完成...但是 pandas 中也必须有一些模块吗?我已经尝试做 for v in v: for el in [a,b](很高兴发布代码,但我认为这个例子已经足够清楚了)但是它很慢,而且我想象一下,这一定已经解决了。

最佳答案

你可以使用 pandas.get_dummies ,例如

import pandas as pd

# create your dataframe
df = pd.DataFrame(index=['a', 'b'],
                  data={'d1': ['v1', 'v1'],
                        'd2': [None, 'v3'],
                        'd3': ['v2', None]})

# perform one-hot encoding
df = pd.get_dummies(df, prefix_sep='=')

# rename if you so wish
df.rename(columns={c: c.split('=')[1] for c in df.columns}, inplace=True)

# sort columns by name (not really necessary)
df.sort_index(axis=1, inplace=True)

# have a look
print df

产生

   v1  v2  v3
a   1   1   0
b   1   0   1

关于python - 如何将一组特征转换为 Pandas 中的计数矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39006270/

相关文章:

python - 对直方图中绘制的给定数据标准化威 bool 分布

python - 使用 Lambda 将 Pandas 时间转换为小时

python - 如何解决 c = cov(x, y, rowvar) RuntimeWarning : Degrees of freedom <= 0 for slice error in python 3. 8?

python - 如何在sklearn中使用isolationforest中的文档向量

python - 来自gensim的单词共现矩阵

python - 在Python中从Unicode文本中过滤出多个表情符号

python - Django select_for_update 可以用来获取读锁吗?

python - pandas groupby 中增加日期

python - Hierarchical Dirichlet Process Gensim 主题数与语料库大小无关

python - 如何在 Amazon EMR 上的 Pig 中使用 Python 流 UDF