Python Pandas:获取 dataframe.value_counts() 结果作为列表

s90*_*00n 4 python numpy dataframe pandas

我有一个DataFrame,我想将组名和相应的组计数作为列表或 numpy 数组。但是,当我将输出转换为矩阵时,我只得到组计数,但没有得到名称。就像下面的例子:

  df = pd.DataFrame({'a':[0.5, 0.4, 5 , 0.4, 0.5, 0.6 ]})
  b = df['a'].value_counts()
  print(b)
Run Code Online (Sandbox Code Playgroud)

输出:

[0.4    2
0.5    2
0.6    1
5.0    1
Name: a, dtype: int64]
Run Code Online (Sandbox Code Playgroud)

我试过的是print[b.as_matrix()]。输出:

[array([2, 2, 1, 1])]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我没有我也需要的相应组名的信息。谢谢你。

Ary*_*thy 5

将其转换为dict

bd = dict(b)
print(bd)
# {0.40000000000000002: 2, 0.5: 2, 0.59999999999999998: 1, 5.0: 1}
Run Code Online (Sandbox Code Playgroud)

不要担心长小数。它们只是浮点表示的结果;你仍然可以从字典中得到你所期望的。

bd[0.4]
# 2
Run Code Online (Sandbox Code Playgroud)