2016-07-11 3 views
0

큰 데이터 프레임 이름 인 dataframe1이 있습니다. (몇) 예를 들어 :합니다 (dataframe1의 모든 화면 1의 텍스트와 같은) 기능 count_noun (STR)를 사용Python Pandas : 데이터 프레임의 단어 수를 계산하십시오.

나는 각 이름의 텍스트의 단어 수를 계산하려면
date     text        name 
1  I like you hair, do you like it    screen1 
2  beautiful sun and wind      screen2 
3  today is happy, I want to got school   screen3 
4  good movie         screen4 
5  thanks god         screen1 
6  you are my son and I love you    screen2 
7  the company is good       screen1 
8  no one can help me, only you     screen2 
9  the book is good and I read it everyday  screen3 
10  water is the source of love     screen4 
11  I like you hair, do you like it    screen1 
12  my love man is leaving      screen2 

. 또한, con_noun (str)는 정상이며 완료됩니다.

데이터 프레임에 같은 이름을 가진 모든 텍스트를 추출하고 명사수를 계산하려고합니다. count_noun (str) 함수에 집중하지 말고 끝냈다.

내 코드 : noun_count (캐릭터를)

import pandas as pd 
import numpy as np 

screen_name_unique = list(set(dataframe1['name'])) 
for name in screen_name_unique: 
    dataframe_text = dataframe1[dataframe1.name == name] 
    count = noun_count(dataframe['text']) 



def noun_count (str): 
    words_len = len(str) 
    return words_len 

내가 잘못이며, 예를 들어 문자열로 모든 NAME1의 텍스트를 추출하고 기능에 보내, 그것을 해결하는 방법을 모른다 발견 제발 손을주세요, 고마워요!

+0

을 계산하기 위해() 함수를 적용 사용 해결 한, 나에게 어떤 문제가 – tktktk0711

+0

알려주세요? noun_count가 어떻게 잘못되었는지 알 수 있습니까? 지금은 아무 것도 반환하지 않기 때문에 카운트를 인쇄 해보십시오. 댓글을 주셔서 감사합니다. noun_count() 함수에 집중하지 마십시오. – Merlin

+0

각 이름의 모든 텍스트를 추출하고 명사 단어의 수를 계산하기 만하면됩니다. 각 이름의 텍스트를 추출한 후 어떻게 해결해야할지 모르겠습니다. 다음 단계는 전혀 모른다. – tktktk0711

답변

1

내가 당신이 원하는 경우는,이에 대한 자세한 정보를

import pandas as pd 
import numpy as np 

screen_name_unique = list(set(dataframe1['name'])) 
for name in screen_name_unique: 
    dataframe_text = dataframe1[dataframe1.name == name] 
    dataframe_text['text'].apply(noun_count) 



def noun_count (str): 
    words_len = len(str) 
    return words_len 
+0

'len (str)'은 단어의 수가 아닌 문자의 수를 계산합니다. – user1930402

관련 문제