2016-06-06 8 views
1

유형의 문제를 대체 :팬더 내가 같은 데이터가 포함 된 행과 팬더 dataframe이

1 year 
1 month 
1 week 
4 year 
3 week 

등 등

I에 포함 된 것도 "달"또는 "주"로 대체하려고

0

train_df.age["weeks" in train_df.age] = 0 

for i in train_df['age']: 
    if "weeks" in i: 
     i = "0" 

어느 것도 작동하지 않는 것 같습니다.

어떻게해야합니까? 감사합니다. .

+0

어떻게 보입니까? – piRSquared

+0

은이 두 개의 별도 열입니까? 또는 int와 str을 가진 하나의 컬럼? – EoinS

+0

문자열 "month"또는 "week"를 0으로 바꾸려고합니까, 아니면 다른 열의 같은 행에있는 숫자로 바꾸시겠습니까? –

답변

1

사용 str.contains는 :

여기
train_df.loc[train_df['age'].str.contains(r'week|month'), 'age'] = 0 

우리는 행이 '주'또는 '월'중 하나를 포함하고 선택적으로 관심에 바로 행을 업데이트하기 위해 부울 마스크를 사용하는지 여부를 찾는 정규식 패턴을 전달합니다

In [4]: 
df.loc[df['age'].str.contains(r'week|month'), 'age'] = 0 
df 

Out[4]: 
    age 
1 year 
1  0 
1  0 
4 year 
3  0 
관련 문제