Value_counts未返回所需的输出

时间:2019-02-22 18:32:20

标签: python pandas indexing series

我正在尝试根据另一列获取一列的最常用值。 具体来说,我正在使用以下代码:

data.beds[data.bedrooms== 1].value_counts()

这以前曾经有用,但是现在我得到的输出是

Series([], Name: beds, dtype: int64)

数据如下:

bedrooms     beds
0             1
1             1
1             1
0             1
2             2
...          ...

谁能告诉我为什么会这样,我如何解决它才能获得实际价值?这在几天前有效,所以我真的不知道怎么了!

谢谢您的时间!

3 个答案:

答案 0 :(得分:1)

我设法解决了!在这里呆了很久之后,我的大脑停止了工作。

显然,我忘记运行将其转换为数字的代码行(因为该行属于对象类型,因为它具有字符串)。不将其转换为数字,解决方案是执行data.beds [data.bedrooms ==“ 1”]。value_counts()

谢谢您的输入!

答案 1 :(得分:0)

请尝试data[data.bedrooms==1].beds.value_counts()或什至data[data.bedrooms==1].beds.mode(),因为您希望最常出现的值。

答案 2 :(得分:0)

您在应用value_counts()之前进行过滤(所有卧室值= 1 [data.bedrooms == 1]的行)

第一个过滤器未返回任何值,这就是为什么您得到显示的输出的原因: 系列([],名称:床,dtype:int64)

您无法获取空数据集上的值计数。

致谢!