计算包含分隔符的数据框中列中文本的出现次数

问题描述 投票:0回答:1

我在数据框中有一列,其中包含人们使用过的语言的值。每一行都是一个新个体,语言之间用分隔符 (;) 分隔。

Column to be evaluated

有没有办法统计每种语言在整个列中的出现次数, 例如,python 出现了 n 次,JavaScript 出现了 N 次,等等?

我尝试过这个,但我对如何计算整个列中每种语言的出现次数感到困惑

df['LanguageHaveWorkedWith'].value_counts()

what I tried

我还尝试使用

get_dummies
对其进行one-hot编码,但是我如何计算每个元素的出现次数?
df['LanguageHaveWorkedWith'].str.get_dummies(sep = ';') 

Get dummies

python dataframe count delimiter
1个回答
0
投票

使用分隔符分割数据,然后分解,并计算唯一项目数

import pandas as pd

data = {'Languages': ['Python;JavaScript;Java', 'Python;C++;Python;JavaScript', 'JavaScript;C++']}
df = pd.DataFrame(data)

# 'Languages' split column by ';', then explode the list
df['Languages'] = df['Languages'].str.split(';')
df = df.explode('Languages')

# count each language sum
language_counts = df['Languages'].value_counts().reset_index()
language_counts.columns = ['Language', 'Count']
© www.soinside.com 2019 - 2024. All rights reserved.