900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > dataframe去掉行索引_DataFrame按索引删除行 列

dataframe去掉行索引_DataFrame按索引删除行 列

时间:2023-08-11 05:51:36

相关推荐

dataframe去掉行索引_DataFrame按索引删除行 列

我们先来看看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

先创建一个DataFrame对象,为方便演示,我创建了一个索引既有时间,也有其他类型的索引。

In[1]: import pandas as pd

In[2]: df = pd.DataFrame([11, 12, 13, 14, 15, 16, 17], index = [0, 1, 2, '-01-01', '-01-02', 'a', 'b'], columns = ['V'])

In[3]: print(df)

Out[3]:

V

0 11

1 12

2 13

-01-01 14

-01-02 15

a 16

b 17

通过帮助文档我们简单了解到一个重要参数inplace=False,这个参数控制着DataFrame.drop的操作是在原DataFrame删除还是不在原DataFrame上删除,默认不在原DataFrame上操作。

labels参数

DataFrame.drop()中的参数labels是要删除的行或者列的名字,删除行还是列由参数axis控制,axis默认为0即按行删除,要想删除列只需令axis=1。

In[4]: df.drop([2,'-01-01','a'])

Out[4]:

V

0 11

1 12

-01-02 15

b 17

如果要删除列‘V’,只需如下操作:

In[5]: df.drop(['V'],axis=1)

Out[5]:

0

1

2

-01-01

-01-02

a

b

index参数

对于参数index,这个参数只能传入行的名字即它是专为按行删除设置的,axis的值不影响index,axis的值只在给labels传入参数时起作用。

In[6]: df.drop(index = 'a',axis = 1)

Out[6]:

V

0 11

1 12

2 13

-01-01 14

-01-02 15

b 17

columns参数的用法与index的用法是类似的。

level参数目前我还没用过,用到了再说了。

errors参数控制着当labels接收到没有的行名或者列名时,程序应该执行的操作。

errors='raise'会让程序在labels接收到没有的行名或者列名时抛出错误导致程序停止运行,errors='ignore'会忽略没有的行名或者列名,只对存在的行名或者列名进行操作。

想要了解更加详细信息,自己在python中用help(pd.DataFrame.drop)或者参阅:DataFrame.drop

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。