从dataframe创建频率词典字典

时间:2016-01-10 20:35:36

标签: python dictionary pandas machine-learning

我有一个像这样的大数据集,我正在尝试制作数据框字典的字典,以便用其他列的频率组织“犯罪”列。

train_data

javac Main.java

所以我首先决定将数据框与“犯罪”列分组:

java Main

然后我试图在字典词典中组织它们但我无法做到,我试图在某些方面迭代但数据帧有问题。

结果应该是这样的:

    23  Wednesday  BAYVIEW  CENTRAL  INGLESIDE  NORTHERN  PARK  RICHMOND  crime
0   1          1        0        0          0         1     0         0      3
1   1          1        0        0          0         1     0         0      1
2   1          1        0        0          0         1     0         0      1
3   1          1        0        0          0         1     0         0      0
4   1          1        0        0          0         0     1         0      0
5   1          1        0        0          1         0     0         0      0
6   1          1        0        0          1         0     0         0      2
7   1          1        1        0          0         0     0         0      2
8   1          1        0        0          0         0     0         1      0
9   1          1        0        1          0         0     0         0      0

2 个答案:

答案 0 :(得分:0)

您可以使用

d = train_data.to_dict(orient='index')

有关更多选项,请参阅http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.DataFrame.to_dict.html

答案 1 :(得分:0)

如果你在MaxNoe上发布的0.17.0或更高版本的pandas:

train_data.groupby('crime').sum().to_dict(orient='index')

否则:

train_data.groupby('crime').sum().T.to_dict()