2016-06-21 8 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 
関連する問題