开始之前,pandas中DataFrame删除对象可能存在几种情况
1、删除具体列
2、删除具体行
3、删除包含某些数值的行或者列
4、删除包含某些字符、文字的行或者列
本文就针对这四种情况探讨一下如何操作。
数据准备
模拟了一份股票交割的记录。
1 | In [1]: import pandas as pd |
删除具体列
1 | In [5]: df.drop('成交数量',axis=1) |
删除具体行
1 | In [6]: df.drop('2018-2-3') |
也可以根据行号删除记录,比如删除第三行
1 | In [22]: df.drop(df.index[7]) |
注意,这个办法其实不是按照行号删除,而是按照索引删除。如果index为3,则会将前4条记录都删除。这个方法支持一个范围,以及用负数表示从末尾删除。
删除特定数值的行(删除成交金额小于10000)
1 | In [7]: df[ df['成交金额'] > 10000] |
本例其实是筛选,如果需要保留,可以将筛选后的对象赋值给自己即可。
删除某列包含特殊字符的行
1 | In [11]: df[ ~ df['证券名称'].str.contains('联通') ] |
如果想取包含某些字符的记录,可以去掉~
1 | In [12]: df[ df['证券名称'].str.contains('联通') ] |
参考资料:
1、Dropping Rows And Columns In pandas Dataframe
2、pandas过滤包含特定字符串的行
3、Pandas dataframe怎么删除名称包含特定字符串的列?
4、Pandas Drop