当前位置: 首页 > 知识库问答 >
问题:

在PythonDataFrame列中查找唯一的单词并对它们进行计数

阙佐
2023-03-14

我试图找到唯一的单词,以及它们重复了多少次。

尝试用python编写相同的代码

输入数据集:

输出数据集:

共有2个答案

逄皓轩
2023-03-14

我们可以str.split分解,然后使用值\u计数

out = (
    df['genre'].str.split('/')
        .explode()
        .value_counts()
        .rename_axis('Genre')
        .reset_index(name='count')
)

str.get\u dummiessumsort\u值

out = (
    df['genre'].str.get_dummies('/').sum()
        .rename('Genre')
        .reset_index(name='count')
        .sort_values('count', ascending=False, ignore_index=True)
)

out

       Genre  count
0  Animation      2
1     Sci-Fi      2
2     Action      1
3  Adventure      1
4      Drama      1
5    Mystery      1
胡永逸
2023-03-14

collections.Counter()是您的朋友。您可以使用dataframe构造函数将结果dict转换为数据帧。

import pandas as pd
import collections

df = pd.DataFrame(
    [
        ["movie 1", "Action/Animation/Sci-Fi"],
        ["movie 2", "Adventure/Animation/Drama/Mystery/Sci-Fi"],
    ],
    columns=["Movie", "Genre"],
)

ctr = collections.Counter()
for r in df["Genre"]:
    ctr.update(r.split("/"))
print(ctr)

# output: Counter({'Animation': 2, 'Sci-Fi': 2, 'Action': 1, 'Adventure': 1, 'Drama': 1, 'Mystery': 1})
 类似资料:
  • 问题内容: 到目前为止,我的代码是这样的: 我想添加一个代码,该代码可以计算来自模式(此路径中的42个txt文件)中的唯一单词,但我不知道该怎么做。有谁能够帮助我? 问题答案: 在Python中计算对象的最佳方法是使用为此目的而创建的类。它的行为类似于Python字典,但计数时使用起来稍微容易一些。您只需传递对象列表,它就会自动为您计数。 Counter也有一些有用的方法,例如most_commo

  • 我正在使用一个从“标题”中搜索用户输入的搜索框。除此之外,我想仅在用户输入对应于“标题”列的情况下计算另一列“主题”中的一些关键字。但问题是如何找到我在查询中提到的仅有的单词的计数,即。 标题 因此,如果我在文本框中搜索了一个,那么我如何从主题中获得单词1的数量,其中标题字段中只有一个,然后其他单词的数量相似,这样我就可以得到如下输出: 您的搜索a包含: word1(3) word2(5) wor

  • 问题内容: 我有一个包含一些信息的对象数组。我无法按照我想要的顺序进行渲染,因此我需要一些帮助。我这样渲染它们: 是否可以在该功能中对它们进行升序排序,或者我必须在使用map之前对它们进行排序? 问题答案: 这可能是您要寻找的: 该方法 将变异原始数组。因此,我使用该方法创建了一个新数组。字段上的排序应适用于可排序的实体,例如字符串和数字。

  • 问题内容: 我有一个pandas数据框。我想按升序打印其列之一的唯一值。这就是我的做法: 问题是我得到了输出。 问题答案: 从iterable中返回一个新的排序列表。 码 输出值

  • 问题内容: 需要在中找到唯一的行。 例如: 我知道我可以创建一个set并在数组上循环,但是我正在寻找一种有效的纯numpy解决方案。我相信有一种方法可以将数据类型设置为,然后我可以使用,但我不知道如何使它工作。 问题答案: 从NumPy 1.13开始,你可以简单地选择轴来选择任何N维数组中的唯一值。要获得唯一的行,可以执行以下操作:

  • 这就是问题所在:给定一个字符串,计算以“y”或“z”结尾的单词的数量——因此“重”中的“y”和“fez”中的'z”都会计数,但“黄色”中的‘y’不会计数(不区分大小写)。如果一个单词后面没有一个字母,我们会说一个y或z在单词的末尾。(注意:Character.islet(char)测试char是否为字母。) 这是我的代码: 我知道这很混乱,但我只是想弄清楚为什么现在不行。每次运行都返回“0”。在i