我在数据框中有一列,其中包含人们使用过的语言的值。每一行都是一个新个体,语言之间用分隔符 (;) 分隔。
有没有办法统计每种语言在整个列中的出现次数, 例如,python 出现了 n 次,JavaScript 出现了 N 次,等等?
我尝试过这个,但我对如何计算整个列中每种语言的出现次数感到困惑
df['LanguageHaveWorkedWith'].value_counts()
我还尝试使用
get_dummies
对其进行one-hot编码,但是我如何计算每个元素的出现次数?
df['LanguageHaveWorkedWith'].str.get_dummies(sep = ';')
使用分隔符分割数据,然后分解,并计算唯一项目数
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']