pandas小结(四)删除列的方法
pandas删除列有如下三种操作方式:
11.del df['columns'] #改变原始数据
22.df.drop('columns',axis=1)#删除不改表原始数据,可以通过重新赋值的方式赋值该数据
33.df.drop('columns',axis=1,inplace='True') #改变原始数据
具体总结为:凡是会对原数组作出修改并返回一个新数组的,往往都有一个 inplace可选参数。如果手动设定为True(默认为False),那么原数组直接就被替换。也就是说,采用inplace=True之后,原数组名(如2和3情况所示)对应的内存值直接改变;而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置(如1情况所示)。
一、del df操作
引入pandas和numpy模块,生成测试数据如下:
使用del 删除的时候,只需要在pandas数据里指定要删除数据的列名称即可。
1>>> del df['E']
2>>> df
3 A B C D
42019-07-11 0 1 2 3
52019-07-12 5 6 7 8
62019-07-13 10 11 12 13
72019-07-14 15 16 17 18
82019-07-15 20 21 22 23
92019-07-16 25 26 27 28
二、使用drop
1. df= df.drop(‘column_name’, 1)
输入:df.drop(‘D’,axis=1),不改变内存,及输入df的时候,它还是显示原数据:
1>>> df.drop('D',axis=1)
2 A B C
32019-07-11 0 1 2
42019-07-12 5 6 7
52019-07-13 10 11 12
62019-07-14 15 16 17
72019-07-15 20 21 22
82019-07-16 25 26 27
9>>> df
10 A B C D
112019-07-11 0 1 2 3
122019-07-12 5 6 7 8
132019-07-13 10 11 12 13
142019-07-14 15 16 17 18
152019-07-15 20 21 22 23
162019-07-16 25 26 27 28
axis取值有0和1,0代表删除行,1代表删除列。删除多列用法如下:
1>>> df.drop(['B', 'C'], axis=1) 或
2>>> df.drop(columns=['B', 'C'])
2. df.drop(‘column_name’,axis=1, inplace=True)
输入:df.drop(‘num’,axis=1,inplace=True),改变内存,及输入df的时候,它显示改变后的数据:
1>>> df.drop('B',axis=1,inplace=True)
2>>> df
3 A C D
42019-07-11 0 2 3
52019-07-12 5 7 8
62019-07-13 10 12 13
72019-07-14 15 17 18
82019-07-15 20 22 23
92019-07-16 25 27 28
3. df.drop(df.columns[[0,1, 3]], axis=1,inplace=True)
使用列索引信息删除,示例如下:
1>>> df
2 A C D
32019-07-11 0 2 3
42019-07-12 5 7 8
52019-07-13 10 12 13
62019-07-14 15 17 18
72019-07-15 20 22 23
82019-07-16 25 27 28
9>>> df.drop(df.columns[0], axis=1,inplace=True)
10>>> df
11 C D
122019-07-11 2 3
132019-07-12 7 8
142019-07-13 12 13
152019-07-14 17 18
162019-07-15 22 23
172019-07-16 27 28
18>>> df.drop(df.columns[[0,1]], axis=1,inplace=True)
19>>> df
20Empty DataFrame
21Columns: []
22Index: [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]
23>>>
最后给下行删除的方法,也是类似的,如下:
1>>> df
2 A B C D
30 0 1 2 3
41 4 5 6 7
52 8 9 10 11
6>>> df.drop([0, 1])
7 A B C D
82 8 9 10 11
PS: 2019-07-22 后记,为便于将pandas进行系列整理,方便查询,特将此篇时间与2017年写的一些东西进行了标题和时间合并,做成系列文章。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/pandas-del-drop/6151.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.