首页  >  文章  >  后端开发  >  如何使用Python Pandas中的drop()函数?

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

王林
王林转载
2023-04-20 21:22:062104浏览

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()怎么使用

假设其中存在空数:

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

python基础pandas的drop()怎么使用

把Nan的全部删掉

print('\n',df.dropna())

python基础pandas的drop()怎么使用

有选择的删,而不是删Nan

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

python基础pandas的drop()怎么使用

补充: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()函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除