2016-11-28 52 views
7

sütununda maksimum değeri ayarla Bir panda DataFrame sütununun maksimum değerini ayarlamaya çalışıyorum. Örneğin:Pandalar Dataframe:

a 
0 10 
1 12 
2 15 
3 15 
4 15 
5 15 

Ama öyle değil:

my_dict = {'a':[10,12,15,17,19,20]} 
df = pd.DataFrame(my_dict) 

df['a'].set_max(15) 

doğuracak.

için bir milyon çözümler maksimum değerini bulmak vardır, fakat bir şey en azından ben bulabilmesi ... maksimum değeri ayarlayın.

Listede yineleyebilirim, ancak pandalarla yapmanın daha hızlı bir yolu olduğundan şüpheleniyorum. Listelerim önemli ölçüde daha uzun olacak ve bu nedenle yinelemenin nispeten daha uzun bir zaman almasını beklerdim. Ayrıca, NaN işlemek için hangi çözümü isterim.

Şimdiden teşekkürler.

+0

'clip' yöntemle bir göz atın. –

cevap

9

ben yapabileceğiniz varsayalım:

maxVal = 15 
df['a'].where(df['a'] <= maxVal, maxVal)  # where replace values with other when the 
               # condition is not satisfied 

#0 10 
#1 12 
#2 15 
#3 15 
#4 15 
#5 15 
#Name: a, dtype: int64 

Veya:

df['a'][df['a'] >= maxVal] = maxVal 
+1

İşte bu. Eksik olduğum basit bir şey vardı. Teşekkürler Psidom. – pshep123

3

Sen clip kullanabilirsiniz.

veri çerçevesinin tüm sütunlara uygula:

df.clip(upper=15) 

Aksi görüldüğü here olarak seçilen sütunlarına uygulamak:

df.clip(upper=pd.Series({'a': 15}), axis=1)