मेरे पास एक्सेल पर कॉलम की परिवर्तनीय मात्रा के साथ एक टेबल है। मुझे स्ट्रिंग मान वाले दो के बीच सभी स्तंभों की पहचान करने की आवश्यकता है। जिन्हें मुझे पहचानने की आवश्यकता है उनमें int/float मान हैं। मैं पांडा के माध्यम से एक्सेल फ़ाइल पढ़ रहा हूँ। क्या उन्हें पहचानने का कोई त्वरित तरीका है?

-1
Santiago Echevarria 27 अक्टूबर 2020, 16:31

2 जवाब

सबसे बढ़िया उत्तर

DataFrame.loc का इस्तेमाल करें स्ट्रैट और एंड कॉलम द्वारा चयन के लिए और फिर DataFrame.select_dtypes और np.number:

df1 = df.loc[:, 'start col':'end col'].select_dtypes(np.number)

अगर numbers के बिना कॉलम चाहिए:

df2 = df.loc[:, 'A':'C'].select_dtypes(exclude=np.number)
1
jezrael 27 अक्टूबर 2020, 16:54

आप select_dtypes का उपयोग include तर्क के साथ कर सकते हैं जो प्रकारों की सूची को स्वीकार करता है।

df = pd.DataFrame({'A' : [0,1,2,3],
                  'B' : ['A','B','C','D'],
                  'C' : [0.1,0.2,0.3,0.4],
                  'D'  : ['C','F','I','L']})


print(df)

   A  B    C  D
0  0  A  0.1  C
1  1  B  0.2  F
2  2  C  0.3  I
3  3  D  0.4  L


start = 0
end = 5
df.iloc[:,start:end].select_dtypes(include=['float64','Int64'])

   A    C
0  0  0.1
1  1  0.2
2  2  0.3
3  3  0.4
1
Umar.H 27 अक्टूबर 2020, 16:50