2017-02-14 28 views

cevap

6

, etiketlerin hizalanmış böylece Series kullanabilirsiniz:

df 
Out: 
    A B 
0 1 4 
1 2 5 
2 3 6 

df.clip(lower=pd.Series({'A': 2.5, 'B': 4.5}), axis=1) 
Out: 
    A B 
0 2.5 4.5 
1 2.5 5.0 
2 3.0 6.0 
0

alt: Ben böyle bir şey almak için bekliyordum varsayılan Hiçbiri API reference göre

, float veya array_like, aynı şekilli dizi kullanmak gerekiyor. Bunun yerine bir numpy dizinin

import numpy as np 
import pandas as pd 

... 

print df.shape 

(2, 3) 

print df.clip(lower=(df.clip(lower=(np.array([[n+1.5 for n in range(df.shape[1])] for _ in range(df.shape[0])])), axis=1)) 

    0 1 2 
0 1.5 2.5 3.5 
1 4.0 5.0 6.0 
+0

benim df boyut büyüktür - Başka df/np oluşturarak önlemek için bazı hile var böyle bir boyut ile? – bill

+0

Şimdiden sonra listeyi anlamaya çalışmanı öneririm. Kodumu biraz güncellendi. Ama başka bir np.array önlemek için aklıma (şimdilik) hiçbir şey geliyor. – su79eu7k

İlgili konular