PHP前端开发

如何使用Python Pandas中的drop()函数?

百变鹏仔 1个月前 (01-22) #Python
文章标签 如何使用

python基础pandas的drop()用法

做数据处理得时候用到了pandas,体验不错,记录如下:

import pandas as pdimport numpy as np

直接可以用pandas生成随机数组

df = pd.DataFrame(np.random.randn(5,3),index = list('abcde'),columns = ['one','two','three'])

假设其中存在空数:

df.ix[1,:-1] = np.nan  #第二行,排除倒数第一个都是Nandf.ix[1:-1,2] = np.nan #第三列,排除第一个和最后一个都是Nan

立即学习“Python免费学习笔记(深入)”;

把Nan的全部删掉

print('',df.dropna())

有选择的删,而不是删Nan

print(df.drop(['one'],axis=1))print(df.drop(['a','c'],axis = 0))

补充:python pandas 之drop()函数

drop函数的使用

(1)drop() 删除行和列

drop([ ],axis=0,inplace=True)

  • drop([]),默认情况下删除某一行;

  • 如果要删除某列,需要axis=1;

  • 参数inplace 默认情况下为False,表示保持原来的数据不变,True 则表示在原来的数据上改变。

import pandas as pd import numpy as np data=pd.DataFrame(np.arange(20).reshape((5,4)),columns=list('ABCD'),index=['a','b','c','d','e'])print(data)print('*'*40)print(data.drop(['a'])) #删除a 行,默认inplace=False,print('*'*40)print(data)#  data 没有变化print('*'*40)print(data.drop(['A'],axis=1))#删除列print('*'*40)print(data.drop(['A'],axis=1,inplace=True)) #在本来的data 上删除print('*'*40)print(data)data 发生变化
     A   B   C   Da   0   1   2   3b   4   5   6   7c   8   9  10  11d  12  13  14  15e  16  17  18  19****************************************    A   B   C   Db   4   5   6   7c   8   9  10  11d  12  13  14  15e  16  17  18  19****************************************    A   B   C   Da   0   1   2   3b   4   5   6   7c   8   9  10  11d  12  13  14  15e  16  17  18  19****************************************    B   C   Da   1   2   3b   5   6   7c   9  10  11d  13  14  15e  17  18  19****************************************None****************************************    B   C   Da   1   2   3b   5   6   7c   9  10  11d  13  14  15e  17  18  19