首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用熊猫找到第一个分位数?

问如何使用熊猫找到第一个分位数?
EN

Stack Overflow用户
提问于 2020-02-04 03:43:54
回答 3查看 537关注 0票数 0
代码语言:javascript
复制
country     2013    2014   2015   2016  2017   2018

Germany     65.5    66.5   67     67.5  67.7    68
France      65.5    65.5   66     67    67      68
india       64      67     68     68    67      67.5
japan       70      71     71.5   72    73      72.5
Australia   34      34     81     82    84      84

在2018年,低于哪个国家的预期寿命阈值是第一个十分之一(°)?

谁能告诉我如何找到第一个十进制?或者如何解决上面的问题?

EN

回答 3

Stack Overflow用户

发布于 2020-02-04 03:56:23

它结合使用布尔索引和qcut来查找2018年值落在第一个十进制数中的行(国家)。

代码语言:javascript
复制
bins = 10  # Bin into deciles.
df[pd.qcut(df['2018'], bins, labels=range(bins)).eq(0)]

pd.qcut(df['2018'], bins, labels=range(bins))的结果将是一个序列,其中每行都在0-9范围内,表示二进制数(十进制数,其中0是第一个十进制数,9是第十个十进制数)。然后,我们只需要查找第一个deceile中的行(其中bin等于0),我们使用一个布尔掩码(简化为df[decile_series.eq(0)])。

票数 1
EN

Stack Overflow用户

发布于 2020-02-04 04:01:16

如果我理解正确的话,你想找出2018年各国预期寿命中的第一个十位数吗?

十进制意味着将国家划分为10个相等的部分,所以我假设您给出了完整国家列表的一个小样本。

为了回答你的问题,你可以使用pandas qcut函数来得到分位数:这个函数试图将底层数据分成相等大小的存储箱。该函数根据数据的分布使用百分位数定义存储箱(假设这是您需要的)。

假设您的数据帧名为df。

代码语言:javascript
复制
pd.qcut(df['2018'], q=10)

这是你需要的吗?

票数 0
EN

Stack Overflow用户

发布于 2020-02-04 16:59:11

我们可以这样做:

代码语言:javascript
复制
df['2018'].quantile(0.1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60046131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档