Pandas:删除行、列---DataFram.drop()

一、删除DataFrame的某列或某行数据

1、删除某列或某行数据可以用到pandas提供的方法drop

2、drop方法的用法:drop(labels, axis=0, level=None, inplace=False, errors='raise')

         --  axis为0时表示删除行,axis为1时表示删除列

3、常用参数如下:

 

代码:

import pandas as pd

df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age'])
print(df1)

print('---------删除行或列:DataFrame.drop()--------')
# drop默认对原表不生效,如果要对原表生效,需要加参数:inplace=True

print("----删除单行----")
df2=df1.drop(labels=0)   # axis默认等于0,即按行删除,这里表示按行删除第0行
print(df2)

print("------删除多行------")
# 通过labels来控制删除行或列的个数,如果是删多行/多列,需写成labels=[1,3],不能写成labels=[1:2],用:号会报错
# 删除指定的某几行(非连续的)
df21=df1.drop(labels=[1,3],axis=0)   # axis=0 表示按行删除,删除第1行和第3行
print(df21)

# 要删除连续的多行可以用range(),删除连续的多列不能用此方法
df22=df1.drop(labels=range(1,4),axis=0)   # axis=0 表示按行删除,删除索引值是第1行至第3行的正行数据
print(df22)

print("----删除单列----")
df3=df1.drop(labels='gender',axis=1)  # axis=1 表示按列删除,删除gender列
print(df3)

print("----删除多列----")
# 删除指定的某几列
df4=df1.drop(labels=['gender',"age"],axis=1)  # axis=1 表示按列删除,删除gender、age列
print(df4)

 结果图:

 

posted @ 2019-01-24 20:34  后来的后来123  阅读(125460)  评论(0编辑  收藏  举报