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

如何从Pandas Series提取DataFrame列中0和1的出现频次

解决方法:将value_counts结果存入指定变量

嘿,这个需求很常见,我给你分享几种靠谱的实现方式,你可以根据场景选择:

方法1:直接按值索引(最稳妥)

value_counts()返回的Series,其索引就是原数据中的取值(这里是0和1),所以直接通过索引就能精准获取对应频次,完全不依赖排序:

import pandas as pd

df = pd.DataFrame({'A':[0,0,1,0,1]})
# 先获取频次统计结果
counts = df['A'].value_counts()

# 按值索引存入变量
zeros = counts[0]
ones = counts[1]

print(zeros)  # 输出3
print(ones)   # 输出2

方法2:用.get()避免KeyError(更健壮)

如果不确定你的数据里一定存在0或1(比如某些场景下可能缺失其中一个值),可以用.get()方法设置默认值,这样不会抛出KeyError:

zeros = counts.get(0, 0)  # 若0不存在,返回默认值0
ones = counts.get(1, 0)  # 若1不存在,返回默认值0

方法3:转成字典再取值(直观易懂)

也可以把统计后的Series转换成字典,然后按键取值,逻辑和方法1一致:

count_dict = counts.to_dict()
zeros = count_dict[0]
ones = count_dict[1]

小提示

别用counts.iloc[0]或者counts.iloc[1]这种按位置索引的方式!因为value_counts()默认是降序排列的,一旦你的数据里1的频次超过0,位置就会颠倒,导致取值错误。按值索引才是最可靠的方案~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:30:14