2016-03-27 10 views
0

Herkese merhaba Python'da yeniyim ve cevaplarımı bulamadım bu yüzden burada yardım arıyorum.fillna (0) çalışmıyor

Arka plan bilgisi, büyük bir veri çerçevem ​​var ve her defasında belirli bir araştırma amacı için birkaç sütun seçmem gerekiyor. Normalde, seçili veri çerçevemdeki tüm NaN'leri 0 değerine dönüştürmek için df.fillna(0) kullanırım; bu, bir seferde birden çok sütun seçtiğimde mükemmel bir şekilde iyi çalıştı. Ama sadece bir sütun seçtiğimde, veri çerçevemde hala NaN değerlerinin olduğunu söyleyen hata çıkıyor. Sanırım bu, sütun sayısı ile ilgili bir şey olup olmadığını merak ediyor ve eğer birisi bunu gördüğü takdirde bunu nasıl çözeceğini biliyor. Ben kullanıyorum

kod şudur: Burada

data = Demo_NY.loc[:,feature_name] 
data.fillna(value = 0) 
data = data.applymap(int) 

Demo_NY veri çerçevesi, tüm girişler onları seçtikten sonra data.applymap(int) kullanmak zorunda nedenle dize biçiminde mağaza vardır. Ama NaN olduğunu söyleyerek hata çıkıyor, tüm NaN'ları ikinci sırada değiştirdiğimi sanıyordum.

Kötü düzenleme için özür dilerim.

Şimdiden teşekkürler!

+1

kodunuzu sonrası Lütfen deneyin. –

+0

Kodu gönderecektim ama verileri paylaşamadığım için yardımcı olamayacağını düşündüm. Yine, kod geçerli: 'verileri = Demo_NY.loc [: feature_name]' 'data.fillna (değeri = 0) ' ' verileri = data.applymap (int)' Burada Demo_NY veri çerçevesi , tüm girişler dize formatında saklanır, bu yüzden seçimden sonra 'data.applymap (int)' seçeneğine sahip olmak zorundayım. Ama bu kabul edilmiyor NaN Hatalı düzenleme için üzgünüm, nasıl temizleyeceğimi bilmiyorum ... – Stryx

+0

Sorunuzu bu kodu eklemek için düzenledim. –

cevap

0

Sorunu yeniden böylece data.fillna(value=0, inplace=True)

+0

Teşekkürler! Çalışıyor, yine de bu hatanın neden daha önce gelmediği konusunda kafam karışık. – Stryx

+0

belki de alışkın olduğunuzdan dolayı: 'data = data.fillna (value = 0)' – dark

+0

Hayır, bir hafta boyunca aynı kod parçasını kullandım ve bu hatayı ilk kez görüyorum. . – Stryx