2016-03-25 12 views
0

私は値の接頭辞:{H、HR、Sなど}の列を持つdfを持っています。すべてのS, SR, SJ SCについては、H, HR, HJ, HCsのすべてに対してhを返すように値を編集したいと思います。 '| HR | HC | HJ | ^(H)$ {R:
df.replace({ 'プレフィックス':データがhereパンダ:列の値を編集するには

session prefix number disposition  catcode  bill 
0 114  H 131  support  J6200 H131 
1 114  H 138  oppose L1100 H138 
2 114  H 140  support  NaN  H140 
3 114  H 140  oppose J7500 H140 
4 114  H 140  support  NaN  H140 

は私がMaxUから、次の走っている 'H'、正規表現= True、インプレース= True)

これは機能します。問題が解決しました!

session  prefix number disposition  catcode 
0 114  h 131  support  J6200 
1 114  h 138  oppose L1100 
2 114  h 140  support  NaN 
+1

「H *」と「S *」が見つかりませんでした。ファイル。 'H'で始まるすべての接頭辞を' H'に置き換え、 'S'->' S'で始まるすべての接頭辞で同じものに置き換えますか? – MaxU

+0

はい!見ていただきありがとうございます。私はこの例のパターンから学ぶことを考えていました。あなたの提案で質問を更新しました。 –

+0

私の更新された回答を確認してください – MaxU

答えて

1

このお試しください:そう小文字の最初の文字に置き換えることを

df.prefix.str[0] 

:あなたの接頭辞列の最初の文字だけを持つようにしたい場合は

df.replace({'prefix': {r'^(H|HR|H\*)$': 'h', r'^(S|SR|S\*)$': 's'}}, regex=True, inplace=True) 

を:

df.prefix = df['prefix'].str[0].str.lower() 
+0

@MichaelPerdue、 'some cases'を定義してください – MaxU

関連する問題