2017-11-22 1 views
1

freetext가 포함 된 pandas 데이터 프레임의 시리즈를 반복 할 때 오류가 발생합니다. 본문은 df[1]에 있습니다.pandas 데이터 프레임에서 텍스트 행을 반복하는 동안 오류가 발생했습니다.

import pandas as pd 
corpus = [] 
for i in range(0, 1000): 
    review = df[1][i] 

발생한 오류는 코드의 마지막 행에 있습니다.

except KeyError as e1: if len(self) > 0 and self.inferred_type in ['integer', 'boolean']: ... KeyError: 100

검색 중에도 오류 메시지가 의미하는 바를 해결할 수 없습니다.

편집 오류가 정규식에 의해 발생하지 않았 음을 알고 있으므로 정규식에 대한 모든 참조를 질문에서 제외했습니다. 오류는 위의 코드와 동일하게 유지됩니다.

+1

사용하여 루프가 팬더의 가장 최적의 옵션을 고려 얻을. df.replace()를 살펴보십시오. df.replace ('[^ a-zA-Z]', '', regex = True)와 같은 것을 시도 할 수 있습니다 – Vaishali

+0

@Bharath, done :) – Vaishali

답변

3

루프를 사용하는 것은 팬더에서 가장 최적의 옵션으로 간주됩니다. df.replace()를 살펴보십시오.

이 dataframe을 고려

,

df = pd.DataFrame({'col': ['sgra834', '%^$asgsg', '23hgfh*', 'sfg343^%adf']}) 

    col 
0 sgra834 
1 %^$asgsg 
2 23hgfh* 
3 sfg343^%adf 

당신은 대체 사용할 수

df.replace('[^a-zA-Z]', '', regex = True) 

당신은

col 
0 sgra 
1 asgsg 
2 hgfh 
3 sfgadf 
관련 문제