2017-02-14 7 views

उत्तर

6
एक numpy सरणी के बजाय

, आप एक श्रृंखला तो लेबल गठबंधन कर रहे हैं का उपयोग कर सकते हैं:

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

कम: मैं की तरह कुछ पाने के लिए उम्मीद कर रहा था नाव डिफ़ॉल्ट कोई भी

API reference के अनुसार

या array_like,, आप एक ही आकार सरणी का उपयोग करना चाहिए रहे हैं।

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

मेरी df के आयाम बड़ा है - वहाँ कुछ चाल एक और df/एन पी बनाने से बचना है इस तरह के आयाम के साथ। – bill

+0

@ बिल ठीक है तो मैं आपको सलाह समझने का सुझाव देता हूं। मेरे कोड को थोड़ा अपडेट किया गया। लेकिन एक और np.array से बचने के संबंध में मेरे दिमाग (अभी के लिए) के लिए कुछ भी नहीं आता है। – su79eu7k

संबंधित मुद्दे