Python开发---37pandas
Posted 兰智杰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发---37pandas相关的知识,希望对你有一定的参考价值。
唯一值、值计数以及成员资格
unique方法用于获取Series中的唯一值数组(去重数据后的数组)
value_counts方法用于计算一个Series中各值的出现频率
isin方法用于判断矢量化集合的成员资格,可用于选取Series中或者DataFrame中列中数据的子集
import pandas as pd # 获取唯一值 ser01=pd.Series([‘a‘,‘c‘,‘b‘,‘d‘,‘a‘,‘b‘]) print(ser01.unique()) #输出为 [‘a‘ ‘c‘ ‘b‘ ‘d‘] # 值计数 print(ser01.value_counts()) ‘‘‘ 输出为 a 2 b 2 d 1 c 1 dtype: int64 ‘‘‘ print(ser01.value_counts(ascending=False)) # 按照频率的高到低排序(默认) ‘‘‘ 输出为 a 2 b 2 d 1 c 1 dtype: int64 ‘‘‘ print(ser01.value_counts(ascending=True)) # 按照频率的低到高排序 ‘‘‘ 输出为 c 1 d 1 b 2 a 2 dtype: int64 ‘‘‘ # 成员资格 print(ser01.isin([‘b‘,‘c‘])) ‘‘‘ 输出为 0 False 1 True 2 True 3 False 4 False 5 True dtype: bool ‘‘‘ print(ser01[ser01.isin([‘b‘,‘c‘])]) ‘‘‘ 输出为 1 c 2 b 5 b dtype: object ‘‘‘
层次索引
在某一个方向拥有多个(两个及两个以上)索引级别
通过层次化索引,pandas能够以较低维度形式处理高纬度的数据
通过层次化索引,可以按照层次统计数据
层次索引包括Series层次索引和DataFrame层次索引
import pandas as pd #Series层次索引 ser02=pd.Series([12034,12222,33333,55555],index=[[‘2001‘,‘2001‘,‘2001‘,‘2002‘],[‘苹果‘,‘香蕉‘,‘西瓜‘,‘苹果‘]]) print(ser02) ‘‘‘ 输出为 2001 苹果 12034 香蕉 12222 西瓜 33333 2002 苹果 55555 dtype: int64 ‘‘‘ #DataFrame层次索引 df02=pd.DataFrame({ ‘year‘:[2001,2001,2001,2002], ‘fruit‘:[‘苹果‘,‘香蕉‘,‘西瓜‘,‘苹果‘], ‘production‘:[12034,12222,33333,55555] }) print(df02) ‘‘‘ 输出为 year fruit production 0 2001 苹果 12034 1 2001 香蕉 12222 2 2001 西瓜 33333 3 2002 苹果 55555 ‘‘‘ df02=df02.set_index([‘year‘,‘fruit‘]) #层次化索引,设置为索引,series与DataFrame转化 print(df02) ‘‘‘ 输出为 year fruit production 2001 苹果 12034 香蕉 12222 西瓜 33333 2002 苹果 55555 ‘‘‘ print(df02.loc[2001,‘苹果‘]) #根据索引获取值 ‘‘‘ 输出为 production 12034 Name: (2001, 苹果), dtype: int64 ‘‘‘ print(df02.sum(level=‘year‘)) ‘‘‘ 输出为 year production 2001 57589 2002 55555 ‘‘‘ print(df02.mean(level=‘fruit‘)) ‘‘‘ 输出为 fruit production 苹果 33794.5 香蕉 12222.0 西瓜 33333.0 ‘‘‘ print(df02.max(level=[‘year‘,‘fruit‘])) ‘‘‘ 输出为 year fruit production 2001 苹果 12034 香蕉 12222 西瓜 33333 2002 苹果 55555 ‘‘‘
以上是关于Python开发---37pandas的主要内容,如果未能解决你的问题,请参考以下文章
text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas