2016-12-16 3 views
0

연도별로 그룹화 된 문서의 단어 빈도에 대한 데이터를 계산 한 다음 판다 데이터 프레임에 데이터를 배치하려고합니다.사전 목록 작성 방법

내 루틴은 키와 값으로 단어와 빈도가 포함 된 각 행에 대한 사전을 만듭니다. 그런 다음 여러 해를 반복하면서 사전을 추가하여 데이터 프레임으로 변환하는 사전 목록을 만듭니다.

사전 목록에서 데이터 프레임을 만드는 것이 표준적인 것 같습니다. 수동으로 목록을 만들어서 할 수 있습니다. 사전 유형과 작동하지 않습니다()

wordtable = {'year':'1965','word1':20, 'word2': 250, 'word3': 125} 
newrow={'year':'1966','word1':150, 'word4': 250, 'word2': 125} 
wordtable.append(newrow) 

df = pandas.DataFrame(wordtable, index=[0]) 
df.to_csv('testdata.csv') 

그러나으로 .Append는()으로 .Append라는 오류 메시지에 이르게 :

나는 이런 식으로 뭔가를 할 수 있도록하고 싶습니다.

+3

이 시도 wordtable '= [{'년 ':'1965 ','word1을 '20'word2 '250'word3 '(125)}]'. 'append()'는'list' 메소드입니다. –

+0

감사합니다! 하지만 목록(), 목록으로 내 사전을 변환하면 dataframe 명령이 작동하지 않는 것 같습니다. 사실 많은 팬더 문서가 '사전 목록'에 대해 의문을 가지고 있습니다. – Jon

+1

사전 목록을 여러 개 원하지 않고 * 사전 목록 *을 원합니다. piRSquared의 대답을 참조하십시오. –

답변

1

wordtable은 사전 목록이어야합니다. 그런 다음() 추가, 언급 한 이전 포스터로 pd.DataFrame.from_records

wordtable = [{'year':'1965','word1':20, 'word2': 250, 'word3': 125}] 
newrow={'year':'1966','word1':150, 'word4': 250, 'word2': 125} 
wordtable.append(newrow) 

df = pd.DataFrame.from_records(wordtable) 
df 

enter image description here

+0

그게 다야! 많은 감사. – Jon

+0

@ 존 귀하의 질문에 대답이 있다면, 그것을 선택한 답변으로 표시하는 것을 잊지 마십시오. 고마워 – piRSquared

1

을 사용 목록 방법 아니지만 DICT 방법입니다. 이것은 비록 작동해야

import pandas 

word_data = [] # list type 
word_counts_1 = {'year': '1965', 'word1':20, 'word2': 250, 'word3': 125} # dict type 
word_counts_2 = {'year':'1966','word1':150, 'word4': 250, 'word2': 125} # dict type 
word_data.append(word_counts_1) # append 1st word count data to list, word_data 
word_data.append(word_counts_2) # append 2nd word count data to list, word_data 
df = pandas.DataFrame(word_data) # create data frame from word_data 
df.to_csv('testdata.csv') # write it out