我們先來(lái)看看DataFrame.drop的幫助文檔:
Help on function drop in module pandas.core.frame:
drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
Drop specified labels from rows or columns. Remove rows or columns by specifying label names and corresponding axis, or by specifying directly index or column names. When using a multi-index, labels on different levels can be removed by specifying the level.
Parameters ----------
labels : single label or list-like Index or column labels to drop. axis : {0 or 'index', 1 or 'columns'}, default 0 Whether to drop labels from the index (0 or 'index') or columns (1 or 'columns').
index, columns : single label or list-like Alternative to specifying axis (``labels, axis=1`` is equivalent to ``columns=labels``).
..versionadded::0.21.0
level : int or level name, optional For MultiIndex, level from which the labels will be removed.
inplace : bool, default False If True, do operation inplace and return None.
errors : {'ignore', 'raise'}, default 'raise' If 'ignore', suppress error and only existing labels are dropped.
Returns ------- dropped : pandas.DataFrame
先創(chuàng)建一個(gè)DataFrame對(duì)象,為方便演示矾睦,我創(chuàng)建了一個(gè)索引既有時(shí)間晦款,也有其他類(lèi)型的索引。
In[1]: import pandas as pd
In[2]: df = pd.DataFrame([11, 12, 13, 14, 15, 16, 17], index = [0, 1, 2, '2018-01-01', '2018-01-02', 'a', 'b'], columns = ['V'])
In[3]: print(df)
Out[3]:
V
0 11
1 12
2 13
2018-01-01 14
2018-01-02 15
a 16
b 17
通過(guò)幫助文檔我們簡(jiǎn)單了解到一個(gè)重要參數(shù)inplace=False枚冗,這個(gè)參數(shù)控制著DataFrame.drop的操作是在原DataFrame刪除還是不在原DataFrame上刪除缓溅,默認(rèn)不在原DataFrame上操作。
labels參數(shù)
DataFrame.drop()中的參數(shù)labels是要?jiǎng)h除的行或者列的名字赁温,刪除行還是列由參數(shù)axis控制坛怪,axis默認(rèn)為0即按行刪除,要想刪除列只需令axis=1股囊。
In[4]: df.drop([2,'2018-01-01','a'])
Out[4]:
V
0 11
1 12
2018-01-02 15
b 17
如果要?jiǎng)h除列‘V’袜匿,只需如下操作:
In[5]: df.drop(['V'],axis=1)
Out[5]:
0
1
2
2018-01-01
2018-01-02
a
b
index參數(shù)
對(duì)于參數(shù)index,這個(gè)參數(shù)只能傳入行的名字即它是專(zhuān)為按行刪除設(shè)置的毁涉,axis的值不影響index沉帮,axis的值只在給labels傳入?yún)?shù)時(shí)起作用。
In[6]: df.drop(index = 'a',axis = 1)
Out[6]:
V
0 11
1 12
2 13
2018-01-01 14
2018-01-02 15
b 17
columns參數(shù)的用法與index的用法是類(lèi)似的贫堰。
level參數(shù)目前我還沒(méi)用過(guò),用到了再說(shuō)了待牵。
errors參數(shù)控制著當(dāng)labels接收到?jīng)]有的行名或者列名時(shí)其屏,程序應(yīng)該執(zhí)行的操作。
errors='raise'會(huì)讓程序在labels接收到?jīng)]有的行名或者列名時(shí)拋出錯(cuò)誤導(dǎo)致程序停止運(yùn)行缨该,errors='ignore'會(huì)忽略沒(méi)有的行名或者列名偎行,只對(duì)存在的行名或者列名進(jìn)行操作。
想要了解更加詳細(xì)信息贰拿,自己在python中用help(pd.DataFrame.drop)或者參閱:DataFrame.drop