Pandas笔记(三)
作者:互联网
本文介绍数据的分组groupby和排列sort,
数据以上一篇所介绍的wine数据为例
groupby
参考:https://zhuanlan.zhihu.com/p/101284491
以taster_twitter_handle创建一个分组并按照每个taster_twitter_handle的名称创建一个统计个数的Series:
group_by_taster_twitter_handle = reviews.groupby('taster_twitter_handle')
reviews_written = group_by_taster_twitter_handle.taster_twitter_handle.count()
print(reviews_written)
以price创建分组并按照从小到大排序,值为其评分
best_rating_per_price = reviews.groupby('price')['points'].max().sort_index()
创建一个基于country和variety的复合分组:
country_variety = reviews.groupby(['country', 'variety'])
agg聚合数据:
将数据按照variety分组并创建基于points数据的最小,最大列:
price_extremes = reviews.groupby('variety').price.agg([min,max])
结果:
min max
variety
Abouriou 15.0 75.0
Agiorgitiko 10.0 66.0
Aglianico 6.0 180.0
Aidani 27.0 27.0
Airen 8.0 10.0
... ... ...
Zinfandel 5.0 100.0
Zlahtina 13.0 16.0
Zweigelt 9.0 70.0
Çalkarası 19.0 19.0
Žilavka 15.0 15.0
[707 rows x 2 columns]
sort
参考:https://www.yiibai.com/pandas/python_pandas_sorting.html
Pandas有两种排序方式,它们分别是按标签sort_index
和按实际值sort_values
sort_index
使用sort_index()
方法,通过传递axis参数和排序顺序,可以对DataFrame进行排序。 默认情况下,按照升序对行标签进行排序。通过传递axis参数值为0或1,可以对列标签进行排序。 默认情况下,axis = 0,逐行排列。
import pandas as pd
import numpy as np
unsorted_df = pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns = ['col2','col1'])
sorted_df=unsorted_df.sort_index(axis=1)
print (sorted_df)
sort_values
像索引排序一样,sort_values()
是按值排序的方法。它接受一个by参数,它将使用要与其排序值的DataFrame的列名称。
import pandas as pd
import numpy as np
unsorted_df = pd.DataFrame({'col1':[2,1,1,1],'col2':[1,3,2,4]})
sorted_df = unsorted_df.sort_values(by='col1')
sort_values()提供了从mergeesort
,heapsort
和quicksort
中选择算法的一个配置。Mergesort
是唯一稳定的算法。
import pandas as pd
import numpy as np
unsorted_df = pd.DataFrame({'col1':[2,1,1,1],'col2':[1,3,2,4]})
sorted_df = unsorted_df.sort_values(by='col1' ,kind='mergesort')
标签:sort,handle,variety,df,twitter,笔记,排序,Pandas 来源: https://www.cnblogs.com/Asp1rant/p/15864085.html