如何创建表格文件?

时间:2018-01-18 00:38:37

标签: python

我有以下字典:

{'have.01':[':arg0',':arg1'], 'give.01':[':arg1',':arg2'], ':create.01':[':arg3', ':arg4']}

我需要生成以下文件:

have.01, 1, 1, 0, 0
give.01, 0, 1, 1, 0
create.01, 0, 0, 1, 1

如果:argX存在,我就放1

我不知道如何编程。

1 个答案:

答案 0 :(得分:1)

使用pandas get_dummies

pd.DataFrame(d).T.apply(','.join,1).str.get_dummies(sep=',')
Out[29]: 
            :arg0  :arg1  :arg2  :arg3  :arg4
:create.01      0      0      0      1      1
give.01         0      1      1      0      0
have.01         1      1      0      0      0

或者我们使用(stackmelt)+(crosstabpivot

df=pd.DataFrame(d).stack()
df
Out[33]: 
0  :create.01    :arg3
   give.01       :arg1
   have.01       :arg0
1  :create.01    :arg4
   give.01       :arg2
   have.01       :arg1
dtype: object
pd.crosstab(df.index.get_level_values(1),df)
Out[34]: 
col_0       :arg0  :arg1  :arg2  :arg3  :arg4
row_0                                        
:create.01      0      0      0      1      1
give.01         0      1      1      0      0
have.01         1      1      0      0      0