2017-12-20 2 views
1

판다 열에 저장된 문장의 두 번째 단어를 가져와야합니다.팬더 열의 두 번째 단어 얻기

df['First'] = df['Sentence'].astype(str).apply(lambda x: x.split()[0]) 

다음이 방법으로 두 번째 단어를 얻으려고 노력 세상에서 실패하는 이유 :

df['Second'] = df['Sentence'].astype(str).apply(lambda x: x.split()[1]) 

나에게

IndexError: list index out of range 

답변

2

을주고 난 쉽게 다음 줄에 첫 번째 단어를 얻을 수 있습니다 str.splitstr[1]과 함께 사용하고 두 번째 단어가없는 경우 NaN

오류 0
df = pd.DataFrame({'Sentence':['a','a d','s df sd']}) 
df['Second'] = df['Sentence'].astype(str).str.split().str[1] 
print (df) 
    Sentence Second 
0  a NaN 
1  a d  d 
2 s df sd  df 

설명 : 적어도 하나 개의 문장, 아니 공간이

초 목록이 존재하지 않기 때문에, 그래서 x.split()[1] 인상 오류 목록의 두 번째 값을 선택.

+0

jezrael 정말 고마워, 이건 간단하고 내 문제를 해결해 줬어. 그래도 내 코드가 무엇이 잘못 됐는지 궁금합니다. – famargar

+1

@famargar - 적어도 하나의 문장이 없으므로 코드가 실패한 것 같습니다. 그래서'x.split() [1]'이 실패했습니다. – jezrael

+0

인상적으로 간단합니다. 내 질문이 다른 사람에게 도움이 될 수있는 유일한 방법은 질문이나 대답에이 정보를 통합하는 것입니다. 나는 당신이 당신의 대답에 이것을 더 공정하게 추가한다고 믿습니다. – famargar