olabilecek öğelere uygulama İnsanların yazdığı kategorik verileri içeren bir Pandas DataFrame ürünüm var. Şunu diyelim:Dize işlevlerini NaN
>>> df = pd.DataFrame({'name': ["A", " A", "A ", "b", "B"]})
name
0 A
1 A
2 A
3 b
4 B
Bu değerleri boşlukları sıyırıp bunları genişleterek normalize etmek istiyorum.
>>> df.apply(lambda x: x['name'].upper().strip(), axis=1)
0 A
1 A
2 A
3 B
4 B
sorunu yaşıyorum Ben de birkaç nan
değerlere sahip olması ve ben etkili olanlar bu dönüşümden sonra nan
s olarak kalmak istiyorum: Bu iyi çalışıyor. Bunu alabilir Ama eğer: '
0 A
1 A
2 A
3 B
4 B
5 NaN
(diğerleri dizeleri ise nan bir şamandıra vardır), ama elimden:
>>> df2 = pd.DataFrame({'name': ["A", " A", "A ", "b", "B", np.nan]})
>>> df2.apply(lambda x: x['name'].upper().strip(), axis=1)
("'float' object has no attribute 'upper'", u'occurred at index 5')
Ne istiyorum budur Bunu yazmanın zarif bir yolunu bul ..
Herhangi bir düşünce?
Parlak, çok teşekkürler. Bu en temiz yoldur ve 'vectorized string yöntemleri' hakkında bilgi vermedim: http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods – user1496984
Ayrıca burada daha fazla belge http://pandas.pydata.org/pandas-docs/stable/text.html#text-string-methods – user1496984