许久不用pandas有些函数都快忘了,在这里复习一下
比如我要按下表中的小区位置排序,将同一个小区的人分在一起
一开始如果是xlsx文档就给它保存成csv文档,并在上面添加列名,在pandas里面也可以添加,不过感觉比直接添加还要麻烦,在这里小区的名字是local
sort_value函数
## 参数
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
#### 参数说明
axis:{0 or ‘index’, 1 or ‘columns’}, default 0,默认按照索引排序,即纵向排序,如果为1,则是横向排序
by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名";
ascending:布尔型,True则升序,可以是[True,False],即第一字段升序,第二个降序
inplace:布尔型,是否用排序后的数据框替换现有的数据框
kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心
na_position : {‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面
代码
import numpy
import csv
#显示所有列
import pandas as pd
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)
#设置value的显示长度为100,默认为50
pd.set_option('max_colwidth',100)
data = pd.read_csv('./1.csv',encoding='GBK')
a=data.sort_values(by="local",axis=0,ascending=True)
#注意到如果直接用data.sort 如果不设置inplace==true data是不变的 设为true data直接改变
print(a)
a.to_excel("2.xlsx")#写入