Python 如何计算数据框中所有行的列列表中包含的字数和唯一字数?
我在pandas数据框中生成了一列Python 如何计算数据框中所有行的列列表中包含的字数和唯一字数?,python,pandas,Python,Pandas,我在pandas数据框中生成了一列df['approxers'],其中包含另一列的所有形容词列表,df['reviews'] df[“形容词”]的值采用这种格式,例如: [“优秀”、“更好”、“大”、“意外”、“优秀”、“大”] 我想创建一个新列,计算df['approxers']中的单词总数以及df['approxers']中的“唯一”单词数 函数应该遍历整个数据帧,并应用每行的计数 对于上面的行示例,我希望df['totaladj']为6,df['uniqueadj']为4(因为“优秀”和“
df['approxers']
,其中包含另一列的所有形容词列表,df['reviews']
df[“形容词”]
的值采用这种格式,例如:
[“优秀”、“更好”、“大”、“意外”、“优秀”、“大”]
我想创建一个新列,计算df['approxers']
中的单词总数以及df['approxers']
中的“唯一”单词数
函数应该遍历整个数据帧,并应用每行的计数
对于上面的行示例,我希望df['totaladj']
为6,df['uniqueadj']
为4(因为“优秀”和“大”是重复的)
将熊猫作为pd导入
df=pd.read_csv('./data.csv')
df['totaladj']=df['adximates'].str.count('')+1
df.to_csv('./data.csv',index=False)
以上代码在计算形容词总数时有效,但不计算形容词的唯一数量。这就是您要寻找的行为类型吗 根据您的描述,我假设形容词列中的值是一个格式类似列表的字符串,例如“['big'、'excellent'、'small']” 下面的代码使用split()将字符串转换为列表,然后使用len()获取长度。在使用len()之前,通过将列表转换为集合来查找唯一形容词的数量
df['adjcount']=df['adjmatexes'].apply(lambda x:len(x[1:-1])。split(','))
df['uniqueadjcount']=df['adximates'].apply(lambda x:len(set(x[1:-1])。split(','))
很高兴我能帮忙@youngguv如果此答案解决了您的问题,请确保您将其标记为已接受答案。