2014-07-10 3 views
0

str.contains에서 발견 된 값에 따라 열을 추가하는 방법은 무엇입니까? 나는 남자의 이름을 찾고 성별을 추가하고 있습니다. str.contains()에서 찾은 행에 따라 열을 추가합니다. pandas

df[df.loc[:,'name'].str.contains("John|Jon")]['gender'] = 'male' 

나는 다음이 일을해야한다고 생각하지만, :

df 

반환 열없이 DF. 이러한 종류의 변경을 수행하는 가장 좋은 방법은 무엇입니까? 당신이

+0

나는이 선이 있어야한다고 생각합니다 감사합니다'DF [df.loc의 [을 :., '이름'] str.contains ("존 | 존")를, '성'] = 'male'' 당신이 일할 수도 있고 안될 수도있는 연결 할당을하고있는 것처럼 보입니다. http://pandas.pydata.org/pandas-docs/stable/indexing.html?highlight=chain%20indexing#indexing-view-versus-copy – EdChum

답변

0
import pandas as pd 

df = pd.DataFrame({"name":["John|Jon", "ABC"], "age":[34, 45]}) 
df["gender"] = "unknown" 
df["gender"][df["name"].str.contains("John")] = "male" 
+0

을보십시오. 선택한 행의 모든 ​​셀을 "남성"으로 변경합니다. 변경은 "성별"로만 이루어져야합니다. – Aidis

+0

답변을 편집했습니다. 확인하십시오. – HYRY

관련 문제