熊猫:来自熊猫数据帧的一种热编码的出现矩阵

Aaditya Ura

我有一个数据框,它是一种热门格式:

dummy_data = {'a': [0,0,1,0],'b': [1,1,1,0], 'c': [0,1,0,1],'d': [1,1,1,0]}
data = pd.DataFrame(dummy_data)

输出:

   a  b  c  d
0  0  1  0  1
1  0  1  1  1
2  1  1  0  1
3  0  0  1  0

我正在尝试从数据帧中获取出现矩阵,但是如果我在列表中有列名而不是像这样的热门列:

raw = [['b','d'],['b','c','d'],['a','b','d'],['c']]
unique_categories = ['a','b','c','d']

然后,我可以找到像这样的出现矩阵:

df = pd.DataFrame(raw).stack().rename('val').reset_index().drop(columns='level_1')
df = df.loc[df.val.isin(unique_categories)]

df = df.merge(df, on='level_0').query('val_x != val_y')
final = pd.crosstab(df.val_x, df.val_y)

adj_matrix = (pd.crosstab(df.val_x, df.val_y)
              .reindex(unique_categories, axis=0).reindex(unique_categories, axis=1)).fillna(0)

输出:

val_y  a  b  c  d
val_x            
a      0  1  0  1
b      1  0  1  3
c      0  1  0  1
d      1  3  1  0

如何直接从一个热数据帧获取出现矩阵?

用户名

您可以通过矩阵数学获得乐趣!


u = np.diag(np.ones(df.shape[1], dtype=bool))

df.T.dot(df) * (~u)

   a  b  c  d
a  0  1  0  1
b  1  0  1  3
c  0  1  0  1
d  1  3  1  0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

机器学习:如何在具有分类和数字功能的熊猫数据帧上应用一种热编码?

来自分类Dev

一种来自具有多个值的数据帧字符串列的热编码

来自分类Dev

一种热编码R中的数据帧

来自分类Dev

来自numpy的一种热编码

来自分类Dev

来自熊猫数据帧的成对矩阵

来自分类Dev

具有多个 id 的一种热编码,大型数据帧中的值

来自分类Dev

熊猫:一种使用namedtuple列表初始化数据帧的干净方法

来自分类Dev

Tensorflow:一种热编码

来自分类Dev

一种使用numpy的热编码

来自分类Dev

Verilog中的一种热编码

来自分类Dev

字符级的一种热编码

来自分类Dev

如何在熊猫中应用一种热编码或在2列上一起获得虚拟对象?

来自分类Dev

一种无需迭代即可对矩阵中的列向量进行热编码的方法

来自分类Dev

从具有1列热编码列的CSV文件创建熊猫数据帧

来自分类Dev

有没有一种方法可以在特定位置“重叠”两个(熊猫)数据帧?

来自分类Dev

有没有一种基于重复值的数量来筛选熊猫数据帧的更快方法?

来自分类Dev

来自熊猫数据帧的python meshgrid值

来自分类Dev

R中多行的一种热编码

来自分类Dev

如何为DNA序列生成一种热编码?

来自分类Dev

一种热编码后如何汇总行

来自分类Dev

使用一种热编码映射标签列表

来自分类Dev

稀疏的一种热编码功能的内存问题

来自分类Dev

BigQuery SQL一种从长到宽表的热编码

来自分类Dev

保存并加载ML的一种热编码

来自分类Dev

一种用于大量标签的热编码

来自分类Dev

Scala中RDD中的一种热编码

来自分类Dev

一种使用 sklearn 的状态热编码

来自分类Dev

是一种没有虚拟陷阱的热编码

来自分类Dev

熊猫快速编码的一种方法vs pd.get_dummies

Related 相关文章

热门标签

归档