如何在pandas中以正确的顺序获取value_counts()的返回值

时间:2016-11-05 03:08:29

标签: python pandas dataframe

就像下面显示的代码一样,我想得到value_counts()的返回值,但是c [i]只返回错误的顺序。那么什么是获得正确顺序值的最佳解决方案

>>> type(c)
<class 'pandas.core.series.Series'>
>>> c
True       98
1479875     1
False       1
Name: 3000, dtype: int64
>>> 
>>> c[0]
1
>>> c[1]
98
>>> c[2]
1
>>> 

1 个答案:

答案 0 :(得分:1)

问题源于混合类型作为系列的索引。值True实际为1,值False实际为0.因此,当您查询c [0]时,它会找到与c [False]关联的值。一个修复可能是强制将True和False值存储为字符串而不是布尔值。

更好的解决方法是使用iloc。

>>> c.iloc[0]
98

但是如何生成数据呢?与布尔混合的整数令人困惑。这应该在那里吗?