drop的功能是删除(不足是,只能删除一行或者一列或者多行多列,但是不能删除第一行的第二列的。。。这样的)
根据官方定义 DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’)
labels:标签或列表(如果不存在,那就通过columns来确定)
columns: 列名(控制删除列)
axis的话,两种情况 axis=0:index (删除index) axis=1(删除column): column,即0 是索引,1是列
大体来说的话用index也可以取代labels
简单来说axis是为了确定你删除的是属于column还是index(如果不存在就报错)
个人感觉只是为了判断用的,实际上有labels和colums后,axis的取值是不影响结果的,有兴趣的可以试试
删除某一行
`
import tushare as ts
import pandas as pd
from pandas import DataFrame
from pandas import Series
df1= DataFrame(
{"father":["龙冷祁","暗夜★妖冶","风间琉璃"],
"wife":["老徐","雨晨","云露"],
"dog":["黄顺狗","逸风狗","汉森狗"]})
print(df1)
print(df1.drop(labels=1,axis=0))
结果是:
father wife dog
0 龙冷祁 老徐 黄顺狗
1 暗夜★妖冶 雨晨 逸风狗
2 风间琉璃 云露 汉森狗
father wife dog
0 龙冷祁 老徐 黄顺狗
2 风间琉璃 云露 汉森狗
很明显,第二行就被删了。
删除列
`
print(df1.drop(columns=“wife”,axis=1))
`
同理:删除多行或者多列,就是:drop(labels=[2,1], axis= 0) drop(columns=[“father”,“wife”],axis=1)
注意超出范围就是报错
`