2016-03-25 36 views
0

Değerler sütununda bir df var: {H, HR, S, etc.}. S, SR, SJ SC'un tümü için H, HR, HJ, HC ve s için h döndürecek değerleri düzenlemek istiyorum. '| İK | HC | HJ |^(H) $' {r:
df.replace ({ 'öneki': Veri herePandalar: Sütundaki değerler nasıl düzenlenir

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 

Ben MaxU aşağıdaki ran olduğunu 'h', r '^ (S | SR | SC | SJ |) $': 's'}}, regex = Doğru, inplace = Doğru)

ve işe yarıyor! Sorun çözüldü!

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

Herhangi bir 'H *' ve 'S *' bulamadınız dosya. "H" ile başlayan tüm önekleri "H" ile değiştirmek istiyor musunuz? S' -> S 'ile başlayan tüm önekler için de aynı mı? – MaxU

+0

Evet! Baktıgın icin tesekkürler. Örüntüden örnekle öğrenmeyi düşünüyordum. Sorunuzu önerinizle güncelledim. –

+0

Lütfen güncellenmiş yanıtı kontrol edin – MaxU

cevap

1

bu deneyin:

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

Eğer önek sütunun sadece ilk harfi yapmak istiyorsanız: öylesine

df.prefix.str[0] 

küçük harflerle ilk harfi ile değiştirmek:

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

@MichaelPerdue, lütfen 'bazı durumlar' tanımlayın – MaxU

İlgili konular