pandas中怎么把第一列删掉_pandas小结(四)删除列的方法

本文详细介绍了在pandas中删除列的三种方法:del df['columns']、df.drop('columns', axis=1)以及df.drop('columns', axis=1, inplace=True)。重点讨论了inplace参数的作用,以及如何通过列索引信息进行删除。通过实例展示了每种方法的效果。" 127113185,13903580,Vue JSX 封装Tree Table:动态列数与数据结构转换,"['前端开发', 'Vue.js', 'JavaScript']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas删除列有如下三种操作方式:

1.del df['columns'] #改变原始数据

2.df.drop('columns',axis=1)#删除不改表原始数据,可以通过重新赋值的方式赋值该数据

3.df.drop('columns',axis=1,inplace='True') #改变原始数据

具体总结为:凡是会对原数组作出修改并返回一个新数组的,往往都有一个 inplace可选参数。如果手动设定为True(默认为False),那么原数组直接就被替换。也就是说,采用inplace=True之后,原数组名(如2和3情况所示)对应的内存值直接改变;而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置(如1情况所示)。

一、del df操作

引入pandas和numpy模块,生成测试数据如下:

使用del 删除的时候,只需要在pandas数据里指定要删除数据的列名称即可。

>>> del df['E']

>>> df

A B C D

2019-07-11 0 1 2 3

2019-07-12 5 6 7 8

2019-07-13 10 11 12 13

2019-07-14 15 16 17 18

2019-07-15 20 21 22 23

2019-07-16 25 26 27 28

二、使用drop

1. df= df.drop('column_name', 1)

输入:df.drop('D',axis=1),不改变内存,及输入df的时候,它还是显示原数据:

>>> df.drop('D',axis=1)

A B C

2019-07-11 0 1 2

2019-07-12 5 6 7

2019-07-13 10 11 12

2019-07-14 15 16 17

2019-07-15 20 21 22

2019-07-16 25 26 27

>>> df

A B C D

2019-07-11 0 1 2 3

2019-07-12 5 6 7 8

2019-07-13 10 11 12 13

2019-07-14 15 16 17 18

2019-07-15 20 21 22 23

2019-07-16 25 26 27 28

axis取值有0和1,0代表删除行,1代表删除列。删除多列用法如下:

>>> df.drop(['B', 'C'], axis=1) 或

>>> df.drop(columns=['B', 'C'])

2. df.drop('column_name',axis=1, inplace=True)

输入:df.drop('num',axis=1,inplace=True),改变内存,及输入df的时候,它显示改变后的数据:

>>> df.drop('B',axis=1,inplace=True)

>>> df

A C D

2019-07-11 0 2 3

2019-07-12 5 7 8

2019-07-13 10 12 13

2019-07-14 15 17 18

2019-07-15 20 22 23

2019-07-16 25 27 28

3. df.drop(df.columns[[0,1, 3]], axis=1,inplace=True)

使用列索引信息删除,示例如下:

>>> df

A C D

2019-07-11 0 2 3

2019-07-12 5 7 8

2019-07-13 10 12 13

2019-07-14 15 17 18

2019-07-15 20 22 23

2019-07-16 25 27 28

>>> df.drop(df.columns[0], axis=1,inplace=True)

>>> df

C D

2019-07-11 2 3

2019-07-12 7 8

2019-07-13 12 13

2019-07-14 17 18

2019-07-15 22 23

2019-07-16 27 28

>>> df.drop(df.columns[[0,1]], axis=1,inplace=True)

>>> df

Empty DataFrame

Columns: []

Index: [2019-07-11 00:00:00, 2019-07-12 00:00:00, 2019-07-13 00:00:00, 2019-07-14 00:00:00, 2019-07-15 00:00:00, 2019-07-16 00:00:00]

>>>

最后给下行删除的方法,也是类似的,如下:

>>> df

A B C D

0 0 1 2 3

1 4 5 6 7

2 8 9 10 11

>>> df.drop([0, 1])

A B C D

2 8 9 10 11

PS: 2019-07-22 后记,为便于将pandas进行系列整理,方便查询,特将此篇时间与2017年写的一些东西进行了标题和时间合并,做成系列文章。

### 删除 Pandas 数据框中的第一列 在 Python 的 Pandas 库中,可以通过多种方式删除数据框的第一列。一种常见的方式是利用 `drop` 方法,并指定需要删除名或索引[^3]。 以下是具体实现方法: #### 使用删除 如果已知第一列的具体名称,则可以直接通过该名称调用 `drop` 方法将其移除: ```python import pandas as pd # 创建示例数据框 data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # 删除名为'A'的第一列 df_modified = df.drop('A', axis=1) print(df_modified) ``` 此代码片段展示了如何基于名 `'A'` 来删除对应。 --- #### 使用索引删除 当不知道确切的名时,可以借助 `.iloc` 或者直接使用 `columns` 属性来获取索引并执行删除操作: ```python import pandas as pd # 创建示例数据框 data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # 获取第一列名并通过 drop 方法删除它 first_column_name = df.columns[0] df_modified = df.drop(first_column_name, axis=1) print(df_modified) ``` 这里的关键在于先找到目标的位置(即第零位),再传递给 `drop` 函数完成任务。 另外也可以一步到位地依据整数位置选取并丢弃首如下所示: ```python import pandas as pd # 创建示例数据框 data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # 利用 iloc 和 reindexing 技巧去掉第一个维度上的项目 df_modified = df.iloc[:, 1:] print(df_modified) ``` 这种方法无需显式命名任何字段即可达成目的。 注意,在以上所有例子当中,默认情况下不会更改原始 DataFrame 对象本身除非特别指定了参数 inplace=True 。这意味着如果你希望保留原有结构不变同时得到处理后的版本就需要重新分配变量存储结果;反之则设置 inplace 参数为 True 即可立即更新源表内容[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值