鱼C论坛

 找回密码
 立即注册
查看: 2244|回复: 1

[已解决]关于数据帧按人数列由多到小对整个数据帧排序的问题,求大师帮忙,谢谢

[复制链接]
发表于 2023-4-15 20:29:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
data = {'基金名称':['开源','能源A','革新A','混合'        ,'招商'],
'人数':['259090人','299987人','312374人','269413人','349027人']}
df = pd.DataFrame(data=data)

想将数据帧的人数列按从大到小往下排序,求大师帮忙,谢谢

最佳答案
2023-4-15 20:36:10
你好!很高兴为你提供帮助。首先,我们需要先将'人数'列转换为整数类型,然后再按照该列进行降序排序。以下是代码示例:

  1. import pandas as pd

  2. data = {'基金名称': ['开源', '能源A', '革新A', '混合', '招商'],
  3.         '人数': ['259090人', '299987人', '312374人', '269413人', '349027人']}
  4. df = pd.DataFrame(data=data)

  5. # 将'人数'列的字符串中的'人'去掉,并将列转换为整数类型
  6. df['人数'] = df['人数'].apply(lambda x: int(x[:-1]))

  7. # 按照'人数'列进行降序排序
  8. df = df.sort_values(by='人数', ascending=False)

  9. # 重置索引
  10. df.reset_index(drop=True, inplace=True)

  11. print(df)
复制代码


输出的结果应该是:
  1.    基金名称      人数
  2. 0     招商  349027
  3. 1    革新A  312374
  4. 2    能源A  299987
  5. 3     混合  269413
  6. 4     开源  259090
复制代码


希望这能帮到你!如果还有其他问题,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-4-15 20:36:10 | 显示全部楼层    本楼为最佳答案   
你好!很高兴为你提供帮助。首先,我们需要先将'人数'列转换为整数类型,然后再按照该列进行降序排序。以下是代码示例:

  1. import pandas as pd

  2. data = {'基金名称': ['开源', '能源A', '革新A', '混合', '招商'],
  3.         '人数': ['259090人', '299987人', '312374人', '269413人', '349027人']}
  4. df = pd.DataFrame(data=data)

  5. # 将'人数'列的字符串中的'人'去掉,并将列转换为整数类型
  6. df['人数'] = df['人数'].apply(lambda x: int(x[:-1]))

  7. # 按照'人数'列进行降序排序
  8. df = df.sort_values(by='人数', ascending=False)

  9. # 重置索引
  10. df.reset_index(drop=True, inplace=True)

  11. print(df)
复制代码


输出的结果应该是:
  1.    基金名称      人数
  2. 0     招商  349027
  3. 1    革新A  312374
  4. 2    能源A  299987
  5. 3     混合  269413
  6. 4     开源  259090
复制代码


希望这能帮到你!如果还有其他问题,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表