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

如何在pandas.Series.value_counts结果中删除指定键值对

解决方案

没问题,这事儿超简单,咱们几步就能搞定,而且绝对不会碰你的原始数据集~

首先,value_counts()返回的是一个Pandas Series对象,我们可以直接对这个统计结果做过滤操作,完全不会影响原始的DataFrame。

第一步:移除键为0的条目

你可以用drop()方法直接删除指定的标签(也就是键0),生成一个新的过滤后的Series:

# 先生成频率占比统计结果
df_product = df.product.value_counts(normalize=True) * 100
# 删除键为0的条目,原df和原df_product都不会被改动
filtered_product = df_product.drop(0)

如果你不需要保留原始的df_product,也可以直接覆盖它:

df_product = df.product.value_counts(normalize=True) * 100
df_product = df_product.drop(0)

第二步:把键和频率转成列表

过滤完成后,就可以把Series的索引(也就是原来的键)和对应的值分别转成列表了:

# 获取过滤后的键列表
keys_list = filtered_product.index.to_list()
# 获取对应的频率占比列表
values_list = filtered_product.values.to_list()

要是你已经覆盖了df_product,直接用df_product.index.to_list()和df_product.values.to_list()就行。

小提示:验证结果

可以打印过滤后的Series确认一下键0已经被移除:

print(filtered_product)

这样操作下来,原始数据集df完全不受影响,咱们只是处理了统计后的结果而已~

内容的提问来源于stack exchange,提问作者JA-pythonista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 00:32:50