2017-05-10 29 views
5

...Python Pandalar - Anlamak INPLACE = Gerçek böyle aşağıdaki ifadeye olarak nesne INPLACE değiştirmek için bir seçenek yoktur <code>pandas</code> kütüphane birçok zamanlarda

df.dropna(axis='index', how='all', inplace=True) 

ben de iade ediliyor ne merak ediyorum Nesne, inplace=True, inplace=False'a karşılık geçirildiğinde nasıl ele alınacağı gibi.

self zaman inplace=True değiştirerek tüm işlemler musunuz? Ve inplace=False, new_df = self ve new_df gibi hemen yeni bir nesne oluşturulduğunda döndürülüyor?

+3

Evet ve INPLACE = TRUE döner 'None'' INPLACE = FALSE gerçekleştirilen işlem ile nesnenin bir kopyasını verir. Belgeler bu konuda oldukça açık, belli bir bölümle kafa karıştırıcı bir şey var mı? Spefically 'True ise, işlem yerinde yapılsın ve hiçbiri dönmeyin. ' – EdChum

+1

Doğru olarak söylendi .. – Aditya

+0

DataFrame nesnesinin alt sınıfını oluşturuyorum ve birleştirme gibi bir işlem yapmak için bunu yapmak mümkün görünmüyor ... ' self = self.merge (new_df, nasıl = 'left', on = 'column2'' Kendimi yeniden atamak mümkün olduğundan emin değilim –

cevap

8
  • inplace=True geçirildiğinde, veri inlace=False (bu, varsayılan değerdir kadar gerekli değildir) geçirildiğinde
  • , işlemi gerçekleştiren ve bir kopyasını döndürür (hiçbir şey döndüren) yerinde yeniden adlandırıldı nesnenin
1

Yolu bunu kullanmak

# Have to assign back to dataframe as it is a copy 
df = df.some_operation(inplace=False) 

Ya

# No need to assign back to dataframe 
df.some_operation(inplace=True)