futui 发表于 2023-4-15 20:29:46

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

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

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

isdkz 发表于 2023-4-15 20:36:10

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

import pandas as pd

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

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

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

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

print(df)


输出的结果应该是:
   基金名称      人数
0   招商349027
1    革新A312374
2    能源A299987
3   混合269413
4   开源259090


希望这能帮到你!如果还有其他问题,请随时提问。
页: [1]
查看完整版本: 关于数据帧按人数列由多到小对整个数据帧排序的问题,求大师帮忙,谢谢