这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。这个项目从基础到进阶,可以检验你有多么了解 pandas。
我会挑选一些题目,并且提供比原题库更多的解决方法以及更详尽的解析。
计划每天更新一期,希望各位小伙伴先自行思考,再查看答案。如果对你有帮助,记得转发推荐给你的好友!
上期文章:pandas每天一题-题目14:新增列的多种方式
后台回复"数据",可以下载本题数据集
如下数据:
1import pandas as pd
2import numpy as np
3
4df = pd.read_csv('chipotle.tsv',
5 sep='\t',
6 converters={'item_price': lambda x: float(x[1:-1])})
前面章节讲解过的知识点,本文不再讲解!
需求:各种删除列的方式
下面是答案了
这是 python 删除变量的操作,同样适用于 DataFrame 删除列:
1del df['order_id']
2df
也可以同时删除多列:
1del df['order_id'],df['quantity']
2df
点评:
这种方式最大的缺点是修改了原数据
为了克服方式1的缺点(修改原数据),可以使用 drop 方法:
1df.drop('order_id',axis=1)
删除多列当然也是可以:
1df.drop(['order_id','quantity'],axis=1)
点评:
不会修改原数据,适合临时操作
在方式1中,如果我们希望提出 order_id 列,然后从表格中移除,我们需要这么做:
1ids = df['order_id']
2del df['order_id']
3
4# …………后续对 ids 操作
注意,你不能写 del ids,此时会把变量 ids 给删除了
此时代码出现了 "order_id" 2次。
pandas 为此提供了一个方法直接完成2个操作:
1ids = df.pop('order_id')
点评:
此方法没啥大作用,不推荐使用
推荐阅读: