Series和DataFrame的数据排序
前言
知识在于积累,聪明在于学习
系列文章
Python之Pandas(三)
环境:jupyter Notebook(Anaconda)
一、 算术运算与数据对齐
1. 创建数组obj_one
range数据取值范围为10-13,index索引的范围为3,即0-2
obj_one=pd.Series(range(10,13),index=range(3))
obj_one
- 创建数组obj_two
range数据取值范围为20-25,index索引的范围为5,即0-4
obj_two=pd.Series(range(20,25),index=range(5))
obj_two
2. 没有对齐的位置会用NaN进行补齐
obj_one+obj_two
3. 没有对齐的位置直接加上
obj_one.add(obj_two,fill_value=0)
二、Series排序
Series类型由一组数据及与之相关的数据索引组成
1. 创建数组ser_obj
range数据取值范围为10-15,index索引为5,3,1,3,2
import pandas as pd
ser_obj=pd.Series(range(10,15),index=[5,3,1,3,2])
ser_obj
2. 按索引排序
ser_obj.sort_index()
3. 按索引降序
ascending=False按索引降序
ser_obj.sort_index(ascending=False)
三、DataFrame排序
DataFrame可以设置列名columns与行名index
对DataFrame的索引进行排序
1.创建数组df_obj
import numpy as np
import pandas as pd
df_obj=pd.DataFrame(np.arange(9).reshape(3,3),index=[4,3,5])
df_obj
2. 按索引排序
相当于df_obj.sort_index(ascending=True)
df_obj.sort_index()
3. 按索引降序排序
df_obj.sort_index(ascending=False)
4. 按值排序
np.nan为NaN值
ser_obj=pd.Series([4,np.nan,6,np.nan,-3,2])
ser_obj
5. 按values值排序
ser_obj.sort_values()
7.按第2列索引排序
df_obj=pd.DataFrame([[0.4,-0.1,-0.3,0.0],[0.2,0.6,-0.1,-0.7],[0.8,0.6,-0.5,0.1]])
df_obj
df_obj.sort_values(by=2)
|