我正在尝试根据另一列获取一列的最常用值。 具体来说,我正在使用以下代码:
data.beds[data.bedrooms== 1].value_counts()
这以前曾经有用,但是现在我得到的输出是
Series([], Name: beds, dtype: int64)
数据如下:
bedrooms beds
0 1
1 1
1 1
0 1
2 2
... ...
谁能告诉我为什么会这样,我如何解决它才能获得实际价值?这在几天前有效,所以我真的不知道怎么了!
谢谢您的时间!
答案 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)
您无法获取空数据集上的值计数。
致谢!