python基础pandas的drop()用法

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

import pandas as pd
import numpy as np
登录后复制

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

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

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

假设其中存在空数:

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

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

把Nan的全部删掉

print('\n',df.dropna())
登录后复制

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

有选择的删,而不是删Nan

print(df.drop(['one'],axis=1))
print(df.drop(['a','c'],axis = 0))
登录后复制

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

补充: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   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    A   B   C   D
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    B   C   D
a   1   2   3
b   5   6   7
c   9  10  11
d  13  14  15
e  17  18  19
****************************************
None
****************************************
    B   C   D
a   1   2   3
b   5   6   7
c   9  10  11
d  13  14  15
e  17  18  19
登录后复制

以上就是如何使用Python Pandas中的drop()函数?的详细内容,更多请关注Work网其它相关文章!

09-19 02:33