如何计算 pandas 列(字符串列表)中的值?

2024-01-09

我有一个数据框列,它是字符串列表:

df['colors']

0              ['blue','green','brown']
1              []
2              ['green','red','blue']
3              ['purple']
4              ['brown']

我想要得到的是:

'blue' 2
'green' 2
'brown' 2
'red' 1
'purple' 1
[] 1

在不知道自己在做什么的情况下,我什至设法数出了整列中的字符数

b 5
[ 5
] 5 

etc.

我认为这很酷,但我不知道解决方案


Solution

最佳选择: df.colors.explode().dropna().value_counts().

但是,如果您还想对空列表进行计数([]), use Method-1.B/C类似于所建议的光黄 https://stackoverflow.com/users/4238408/quang-hoang在评论中。

您可以使用以下两种方法中的任何一种。

  • Method-1:单独使用pandas方法⭐⭐⭐

    explode --> dropna --> value_counts

  • Method-2: Use list.extend --> pd.Series.value_counts
## Method-1
# A. If you don't want counts for empty []
df.colors.explode().dropna().value_counts() 

# B. If you want counts for empty [] (classified as NaN)
df.colors.explode().value_counts(dropna=False) # returns [] as Nan

# C. If you want counts for empty [] (classified as [])
df.colors.explode().fillna('[]').value_counts() # returns [] as []

## Method-2
colors = []
_ = [colors.extend(e) for e in df.colors if len(e)>0]
pd.Series(colors).value_counts()

Output:

green     2
blue      2
brown     2
red       1
purple    1
# NaN     1  ## For Method-1.B
# []      1  ## For Method-1.C
dtype: int64

虚拟数据

import pandas as pd

df = pd.DataFrame({'colors':[['blue','green','brown'],
                             [],
                             ['green','red','blue'],
                             ['purple'],
                             ['brown']]})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算 pandas 列(字符串列表)中的值? 的相关文章

  • 如何为 PyYAML 编写代表程序?

    我想要一个自定义函数来序列化任意 python 对象 就像 json dump 函数有一个名为 default 的可选参数 如果对象不是 json 可序列化的 它应该是 json 转储器将调用的函数 我只是想从 json 包中执行相当于此操
  • 将 postgres 连接到 django 时遇到问题

    以下文档来自Django Postgres 文档 https docs djangoproject com en 4 1 ref databases postgresql notes我添加到我的settings py 在我设置的设置中 DA
  • 如何在 Google App Engine (Python) 中定义配置变量/常量?

    我是 python GAE 的新手 想知道如何快速定义和使用全局设置变量 所以说你 git 克隆我的 GAE 应用程序 然后打开config yaml 添加更改设置 应用程序就全部连接起来 如下所示 config yaml or whate
  • 在Python中将月份和年份的列合并为季度和年份的列

    我有一个数据框 df Month 1 8 Year 2015 2020 df pd DataFrame data df df 想要将其转变为新列 期望的输出 df Month 1 8 Year 2015 2020 Quarter Q1201
  • 识别文本中的多个类别和相关情感

    如果您有一个文本语料库 如何识别所有类别 来自预定义类别列表 以及与之相关的情绪 正面 负面写作 我将在 Python 中执行此操作 但现阶段我不一定要寻找特定于语言的解决方案 让我们用一个例子来看看这个问题 试图澄清我的问题 如果我有一整
  • Python - 从一定范围内随机采样,同时避免某些值

    我一直在阅读有关random sample 函数在random模块 但没有看到任何可以解决我的问题的东西 我知道使用random sample range 1 100 5 会给我来自 人群 的 5 个独特样本 我想得到一个随机数range
  • 从Python列表中挑选出具有特定索引的项目

    我确信在 Python 中有一种很好的方法可以做到这一点 但我对这门语言还很陌生 所以如果这是一个简单的方法 请原谅我 我有一个列表 我想从该列表中挑选某些值 我想要挑选的值是列表中索引在另一个列表中指定的值 例如 indexes 2 4
  • tkinter 库 treectrl 转换为 exe 安装程序时出现 cx_freeze 错误

    我使用的是 python 版本 3 7 我使用了这个名为 treectrl 的外部库 当我运行 py 文件时它工作得很好 但是当我使用 cx freeze 转换为 exe 文件时 它给了我错误 NomodulleFound 名为 tkint
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1
  • 无法将 类型的对象转换为张量

    我正在编写一个使用 Flask 框架的客户端 python 文件 并在 docker 机器中运行它 因此 这需要一个输入文件并生成它的输出 但它会抛出无法转换为张量的错误 tf app flags DEFINE string server
  • 确定对角线周围的边界矩形

    用户将在屏幕上定义一条线 绘制时该线将具有给定的粗细 or width I now need to be able to determine the coordinates of a bounding rectangle around th
  • 将表抓取到列表中

    我正在尝试从网页中提取表格 我已经设法将表中的所有数据放入列表中 然而 所有表数据都被放入一个列表元素中 我需要帮助将 干净 数据 即字符串 没有所有 HTML 包装 从表的行获取到它们自己的列表元素中 所以而不是 list tr th a
  • 限制 Python 上每秒的 HTTP 请求数

    我编写了一个脚本 用于从文件中获取 URL 并同时向所有 URL 发送 HTTP 请求 我现在想限制每秒 HTTP 请求数和每个接口的带宽 eth0 eth1等 在会话中 有什么办法可以在Python上实现这一点吗 您可以使用 Semaph
  • 如何在 pandas 数据框中创建包含现有行字符串中的单词的新行?

    我有一个DataFrame in pandas有一个名为df strings与文本字符串 我想将这些字符串的各个单词放在自己的行上 并在其他列中使用相同的值 例如 如果我有 3 个字符串 以及一个不相关的列 时间 Strings Time
  • ModuleNotFoundError:尽管已安装,但没有名为“PyDIP”的模块

    尝试使用图像识别 我安装了带有 OpenCV 的 Python 如下本教程 https www pyimagesearch com 2018 08 15 how to install opencv 4 on ubuntu 后来 我决定尝试一
  • SIGINT 后保存工作

    我有一个需要很长时间才能完成的程序 我想 它能够抓住SIGINT ctrl c 并调用self save work method 就目前情况而言 我的signal hander 不起作用 因为self不是由程序到达的时间定义的signal
  • 实施科赫曲线?

    我正在查看科赫雪花的维基百科页面 here http en wikipedia org wiki Koch snowflake 并且对所有示例都采用徽标 海龟风格感到困扰 所以我开始制作自己的返回列表或坐标的组件 我的实现是用Python编
  • 如何将 pandas DataFrame 与 sklearn 结合使用?

    我的项目的目标是预测一些文本描述的准确性水平 我用 FASTTEXT 制作了向量 硅通孔输出 0 1 0 0033524514 2 0 021896651 3 0 05087798 4 0 0072637126 1 1 0 00311814
  • 非英语语言(CJK 等)中的 n 元语法名称分析

    我正在致力于对人员数据库进行重复数据删除 对于第一遍 我遵循基本的两步过程 以避免对整个数据库进行 O n 2 操作 如所述在文献中 http nike psu edu publications jcdl05 pdf 首先 我 阻止 迭代整
  • 如何用Python检查一个单词是否是英文单词?

    我想在 Python 程序中检查一个单词是否在英语词典中 我相信 nltk wordnet 接口可能是可行的方法 但我不知道如何使用它来完成如此简单的任务 def is english word word pass how to I imp

随机推荐