结果的矩阵形式表示

穆克什·库玛·米什拉(Mukesh Kumar Mishra)

我有7个带有单词列表的csv文件。我已将7个csv中的所有单词都放入一个名为Total_Words_list的新文件中。

问题是我需要以下矩阵的输出:

   APPLE BALL CAT DOG....
A    0    1    1   0
B    1    1    0   1
C    1    1    1   0

在这里,主列表中的单词构成行,而7个文件名构成列。如果文件A中存在一个单词,则它变为1,否则变为0,依此类推。一次运行所有7个csv文件的操作,我得到了上述结果。

我不确定如何解决这个问题。

耶斯列尔

您可以使用concat来全部隐藏DataFrames,然后stack使用str.get_dummies最后需要groupby按索引(level=0)进行汇总sum

import pandas as pd
import numpy as np
import io

temp=u"""CAT;BALL
"""
#after testing replace io.StringIO(temp) to filename
df1 = pd.read_csv(io.StringIO(temp), sep=";", index_col=None, header=None)

print (df1)

temp=u"""DOG;BALL;APPLE
"""
#after testing replace io.StringIO(temp) to filename
df2 = pd.read_csv(io.StringIO(temp), sep=";", index_col=None, header=None)

print (df2)


temp=u"""DOG;BALL;APPLE;CAT
"""
#after testing replace io.StringIO(temp) to filename
df3 = pd.read_csv(io.StringIO(temp), sep=";", index_col=None, header=None)

print (df3)

df = pd.concat([df1,df2,df3], keys=['A','B','C'])
df.reset_index(1, drop=True, inplace=True)
print (df)
     0     1      2    3
A  CAT  BALL    NaN  NaN
B  DOG  BALL  APPLE  NaN
C  DOG  BALL  APPLE  CAT
print (df.stack().reset_index(1, drop=True).str.get_dummies())
   APPLE  BALL  CAT  DOG
A      0     0    1    0
A      0     1    0    0
B      0     0    0    1
B      0     1    0    0
B      1     0    0    0
C      0     0    0    1
C      0     1    0    0
C      1     0    0    0
C      0     0    1    0

print (df.stack().reset_index(1, drop=True).str.get_dummies().groupby(level=0).sum())
   APPLE  BALL  CAT  DOG
A      0     1    1    0
B      1     1    0    1
C      1     1    1    1

带有pandas.get_dummiesgroupby按列(level=0,axis = 1)的另一种解决方案sum

print (pd.get_dummies(df, dummy_na=False, prefix='', prefix_sep='')
         .groupby(level=0, axis=1).sum())

   APPLE  BALL  CAT  DOG
A      0     1    1    0
B      1     1    0    1
C      1     1    1    1

通过评论编辑:

另一种方法是dummies分别从每个数据帧获取然后concat输出:

df11 = pd.get_dummies(df1, dummy_na=False, prefix='', prefix_sep='')
         .groupby(level=0, axis=1).sum()
#print (df11)
df21 = pd.get_dummies(df2, dummy_na=False, prefix='', prefix_sep='')
         .groupby(level=0, axis=1).sum()
#print (df21)
df31 = pd.get_dummies(df3, dummy_na=False, prefix='', prefix_sep='')
         .groupby(level=0, axis=1).sum()
#print (df31)

df = pd.concat([df11,df21,df31], keys=['A','B','C']).fillna(0).astype(int)
df.reset_index(1, drop=True, inplace=True)
print (df)
   APPLE  BALL  CAT  DOG
A      0     1    1    0
B      1     1    0    1
C      1     1    1    1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Informix选择并以矩阵形式输出结果

来自分类Dev

在自己创建的r函数中以矩阵形式获取结果

来自分类Dev

通过系统调用以矩阵形式打印结果

来自分类Dev

数据挖掘:以事务/数据矩阵形式表示数据

来自分类Dev

NFA矩阵形式的字母

来自分类Dev

以矩阵形式实施OLS

来自分类Dev

以矩阵形式放置数据

来自分类Dev

GEKKO-矩阵形式的优化

来自分类Dev

在python中以矩阵形式计算评级

来自分类Dev

使用 Matlab 以矩阵形式求解 DDE

来自分类Dev

以表格形式(矩阵形式)在多个点打印FFT

来自分类Dev

MIPS 2D阵列以矩阵形式打印

来自分类Dev

递归以矩阵形式打印所有路径

来自分类Dev

将矩阵形式的熊猫数据框转换为表格

来自分类Dev

使用fmincon()求解矩阵形式的非线性程序

来自分类Dev

使用矩阵形式的约束的Python Pulp线性编程

来自分类Dev

以矩阵形式打印二维数组

来自分类Dev

以矩阵形式将列表排列为numpy数组

来自分类Dev

单击时,将我的div分割成相等的矩阵矩阵形式,连续等分

来自分类Dev

在Maxima中将方程式系统转换为矩阵形式

来自分类Dev

F用Matlab求解矩阵形式的联立方程

来自分类Dev

在R?中将线性方程式转换为矩阵形式的功能

来自分类Dev

R:将描述性列和相关值组合成矩阵形式

来自分类Dev

将一组符号线性方程式转换为矩阵形式

来自分类Dev

如何将一个对称方程组转换成矩阵形式

来自分类Dev

我想给定列数以矩阵形式打印每个单词中的字母

来自分类Dev

如何在不带tr和td标签的Angular中以矩阵形式显示元素

来自分类Dev

R:将描述性列和相关值组合成矩阵形式

来自分类Dev

将3变量转换为矩阵形式以在SAS中创建热图

Related 相关文章

热门标签

归档