【问题标题】:Ordering a column in pandas dataframe在熊猫数据框中订购一列
【发布时间】:2021-10-21 22:46:18
【问题描述】:

我需要创建一个数据框,过滤出“国籍”列中列出频率最高的五个国家以及它们被列出的总次数。我一直在尝试使用 groupby,但没有成功。我用过的代码

df.groupby(['Nationality']).sum() 

我还需要确定参与该计划的人中有多少百分比至少有一个推荐人。不过我也不确定这个代码。

【问题讨论】:

  • 所以您想删除包含在最常列出的前 5 个国籍中的国籍的行?而且你还要数一下国籍排在前5的有多少行?
  • 我想创建一个新的数据框,显示最常列出的前五个国籍,以及它们被列出的次数。
  • 我会及时更新我的​​答案。
  • 成功了!谢谢!

标签: python pandas pandas-groupby


【解决方案1】:

过滤掉包含国籍排在前 5 位的行:

df[df['Nationality'].isin(df['Nationality'].value_counts().index[:6]) == False]

通过查看 df 的形状来查看它们被列出了多少次,其中行包含前 5 名的国籍:

df[df['Nationality'].isin(df['Nationality'].value_counts().index[:6])].shape

快速查看 Number_of_Referalls 的百分比值 > 或 = 到 1:

(df['Number_of_Referalls '] >= 1).value_counts(normalize=True) * 100

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2023-02-21
    • 2016-05-13
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多