You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas将DataFrame列的取值与对应频次拆分为两个列表

用Pandas提取取值和对应频次到两个降序列表的方法

嘿,这问题其实很好解决,咱们一步步来操作:

首先先还原你的DataFrame场景:

import pandas as pd
df = pd.DataFrame({'A': ['j', 'j', 'k', 'j', 'b', 'k']})

你提到的value_counts()其实已经帮你做好了降序排列的计数工作,它返回的Series本身就包含了你需要的取值(作为索引)和对应频次(作为值)。咱们只需要把这两部分分别转成列表就行:

  1. 先获取排序后的计数Series:
count_result = df['A'].value_counts()

这个count_result的结构是:

j    3
k    2
b    1
Name: A, dtype: int64
  1. 提取索引转成取值列表,提取值转成频次列表:
ValueList = count_result.index.tolist()
CountList = count_result.values.tolist()

现在你打印这两个列表,就会得到你想要的结果:

  • ValueList → ['j', 'k', 'b']
  • CountList → [3, 2, 1]

如果之后你需要调整排序顺序,比如改成升序,只需要在value_counts()里加个参数ascending=True就行,非常灵活。

内容的提问来源于stack exchange,提问作者potato99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:17:26