2016-06-21 4 views
1

4 개의 열이있는 데이터 프레임이 있습니다 (아래 입력 데이터 프레임 참조). 메타 열에 패턴 관계 (예 : M_relation)가 있는지 확인한 다음 관계 열의 숫자를 메타 열 값에 추가해야합니다. 이것이 판다에서 어떻게 이루어질 수 있습니까?pandas 데이터 프레임 - 행 값 바꾸기

입력 dataframe :

-------------------------------------- 

    Entry1 | Relation | Entry2 | Meta | 

-------------------------------------- 

E11 | R_31 | E21 | M_xxx | 

E12 | R_21 | E51 | M_relation | 

E33 | R_21 | E51 | M_yyy | 

E44 | R_41 | E46 | M_relation | 

출력 :

-------------------------------------- 
Entry1 | Relation | Entry2 | Meta | 
-------------------------------------- 

E11 | R_31 | E21 | M_xxx | 

E12 | R_21 | E51 | M_relation_21 | 

E33 | R_21 | E51 | M_yyy | 

E44 | R_41 | E46 | M_relation_41 | 
-------------------------------------- 
+0

시도한 것을 보여줄 수 있습니까? – Merlin

답변

1

당신은 할 수 :

pattern = df.Meta.str.split('_').str.get(1) == 'relation' 
df.loc[pattern, 'Meta'] = df.loc[pattern, 'Meta'] + '_' + df.loc[pattern, 'Relation'].str.split('_').str.get(1) 

는 얻을 :

Entry1 Relation Entry2   Meta 
0 E11  R_31 E21   M_xxx 
1 E12  R_21 E51 M_relation_21 
2 E33  R_21 E51   M_yyy 
3 E44  R_51 E51 M_relation_51 
관련 문제