pandas 18 - drop,pop,del删除( tcy)

删除 2018/12/14

函数: 

s.drop(labels=None) # 删除系列指定标签;原数据不变
df.drop(labels=None, axis=0, index=None, columns=None, level=None)# 数据帧删除;原数据不变  

序列删除: 

del s['d'] #序列删除;原数据改变 # del s1.d #错误用法
s.pop('d') #弹出;参数必须为标签str;原数据改变

s.drop('d')       #删除数据‘d' ; 原数据不变
s.drop(['c','d']) #删除数据‘'c',d'  

数据帧删除: 

df=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],index=['a','b','c'],columns=['A','B','C'])

#删除列
del df['B'] # 数据帧删除;原数据改变
df.pop('B') # 列弹出;原数据改变

df.drop(['A','B'],axis=1) #删除列; 原数据不变
df.drop(columns=['A','B'])#删除列; 原数据不变

df.drop(['a','b'])        #通过索引删除行; 原数据不变 df.drop([0, 1])
df.drop(index=['a','b'])  #通过索引删除行; 原数据不变  

多索引删除:  

midx = pd.MultiIndex(levels=[['Tom', 'Bob', 'Jam'], ['income', 'weight', 'length']],
labels=[[0, 0, 0, 1, 1, 1, 2, 2, 2],[0, 1, 2, 0, 1, 2, 0, 1, 2]])#创建多索引
df = pd.DataFrame(index=midx, columns=['max', 'min'],
                  data=[ [200, 100],[55, 50], [1.5, 1.4], #Tom收入,体重,身高
                         [400, 300],[65, 60], [1.6, 1.5], # Bob收入,体重,身高
                         [600, 500],[75, 70], [1.8, 1.7]])# Jam收入,体重,身高
df'''
            max  min
Tom income 200.0 100.0
    weight 55.0  50.0
    length 1.5   1.4
Bob income 400.0 300.0
    weight 65.0  60.0
    length 1.6   1.5
Jam income 600.0 500.0
    weight 75.0  70.0
    length 1.8   1.7
'''
df.drop(index='Bob', columns='min')
''' 
           max
Tom income 200.0
    weight 55.0
    length 1.5
Jam income 600.0
    weight 75.0
    length 1.8
'''
df.drop(index='Tom', level=0)
''' 
            max  min
Bob income 400.0 300.0
    weight 65.0  60.0
    length 1.6   1.5
Jam income 600.0 500.0
    weight 75.0  70.0
    length 1.8   1.7
'''
df.drop(index='length', level=1)

'''
           max   min
Tom income 200.0 100.0
    weight 55.0  50.0
Bob income 400.0 300.0
    weight 65.0  60.0
Jam income 600.0 500.0
    weight 75.0  70.0
'''

猜你喜欢

转载自blog.csdn.net/tcy23456/article/details/84997213