开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情
数据删除
使用drop()方法
df.drop(labels=None,axis=0,index=None,columns=None,inplace=False)
labels:表示行标签或列标签
axis:axis=0表示按行删除,axis=1表示按列删除
index :删除行,默认值为None
columns:删除列,默认值为None
inplace:对原数组作出修改并返回一个新数组。默认值为False,如果值为True,
那么原数组直接就将被替换
删除列数据
data=[[75,56,80],[56,45,50],[60,67,67]]
index=['张三','李四','王五']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
print('--------------')
df1=df.drop(['数学'],axis=1,inplace=False)
print(df1)
print('--------------')
df2=df.drop(columns='数学', inplace=False)
print(df2)
print('--------------')
df.drop(labels='数学', axis=1,inplace=True)
print(df)
结果:
删除行数据
data=[[75,56,80],[56,45,50],[60,67,67]]
index=['张三','李四','王五']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
print('--------------')
df1=df.drop(['张三'],axis=0,inplace=False)
print(df1)
print('--------------')
df2=df.drop(index='张三', inplace=False)
print(df2)
print('--------------')
df.drop(labels='张三', axis=0,inplace=True)
print(df)
结果:
删除指定条件数据
data=[[75,56,80],[56,45,50],[50,67,67]]
index=['张三','李四','王五']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
print('--------------')
df.drop(df[df['数学']<60].index[:], inplace=True)
print('删除数学成绩小于60的数据\n',df)
结果:
数据排序
使用sort_values()方法
df.sort_values(by,axis=0,ascending=True,inplace=False,
kind='quicksort ,na_position='last ,ignore_index=False)
by:要排序的名称列表
axis:轴,0表示行,1表示列,默认行排序
ascending:升序或降序排序,布尔值,指定多个排序可以使用布尔值列表,降序
inplace:布尔值,默认值为False,如果值为True,则就地排序
kind:指定排序算法,值为quicksort(快速排序)、mergesort(混合排序)或heapsort(堆排)
,默认值为quicksort
na_position:空值(NaN)的位置,值为first空值在数据开头,last空值在最后,默认值为last
ignore_index:布尔值,是否忽略索引,值为True标记索引(从0开始按顺序的整数值),
值为False则忽略索引
举例:
df=pd.read_excel(r'house.xlsx')
print(df.head())
print('-----------------------------------')
df=df.sort_values(by='建筑面积')
print('排序后的数据\n',df.head())
结果: