मुझे पंडों में डेटाफ्रेम की पहली तीन पंक्तियों को हटाने की आवश्यकता है।
मुझे पता है df.ix[:-1]कि अंतिम पंक्ति को हटा दिया जाएगा, लेकिन मैं यह पता नहीं लगा सकता कि पहली n पंक्तियों को कैसे हटाया जाए।
मुझे पंडों में डेटाफ्रेम की पहली तीन पंक्तियों को हटाने की आवश्यकता है।
मुझे पता है df.ix[:-1]कि अंतिम पंक्ति को हटा दिया जाएगा, लेकिन मैं यह पता नहीं लगा सकता कि पहली n पंक्तियों को कैसे हटाया जाए।
जवाबों:
groupby()? यह काम करता है लेकिन इंडेक्स में डुप्लीकेट कॉलम लौटाता हैdf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
df=df.iloc[3:9]?
pd.concat()। जैसे कुछ है df2 = pd.concat([df.iloc[:3],df.iloc[10:]])।
मुझे लगता है कि ऐसा करने का एक अधिक स्पष्ट तरीका ड्रॉप का उपयोग करना है।
वाक्य रचना है:
df.drop(label)
और जैसा कि @tim और @ChaimG द्वारा बताया गया है, यह इन-प्लेस किया जा सकता है:
df.drop(label, inplace=True)
इसे लागू करने का एक तरीका यह हो सकता है:
df.drop(df.index[:3], inplace=True)
और एक और "जगह में" का उपयोग करें:
df.drop(df.head(3).index, inplace=True)
dropयहां तक कि इन-प्लेस (अतिरिक्त असाइनमेंट के बिना) की गणना की जा सकती है। तेज़ और सरल!
df.drop(label, inplace=True)
आप पाइथन स्लाइसिंग का उपयोग कर सकते हैं, लेकिन ध्यान दें कि यह इन-प्लेस नहीं है।
In [15]: import pandas as pd
In [16]: import numpy as np
In [17]: df = pd.DataFrame(np.random.random((5,2)))
In [18]: df
Out[18]:
0 1
0 0.294077 0.229471
1 0.949007 0.790340
2 0.039961 0.720277
3 0.401468 0.803777
4 0.539951 0.763267
In [19]: df[3:]
Out[19]:
0 1
3 0.401468 0.803777
4 0.539951 0.763267
pandas?
inp0 = pd.read_csv ("bank_marketing_updated_v1.csv", स्किप = 2)
या यदि आप मौजूदा डेटाफ़्रेम में करना चाहते हैं
बस निम्नलिखित आदेश है
header=3कंस्ट्रक्टर तर्क का उपयोग कर सकते हैं जो उस पंक्ति को हेडर पंक्ति के रूप में सेट करेगा: stackoverflow.com/a/51822697/191246