python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]

文章目录

  • 概括:Numpy+Scipy+pandas+matplotlib
    • 一.pandas:唯一值、值计数以及成员资格
    • 二.pandas:层次索引
        • 1.两种索引值
        • 2.层次化索引
    • 三.pandas:按照层次索引进行统计数据
        • 1.sum()
        • 2.min()
        • 3.mean()
    • 四.算法运算和数据对齐
    • 五. 函数的应用和映射
    • 六. 重置索引

概括:Numpy+Scipy+pandas+matplotlib

在这里插入图片描述

一.pandas:唯一值、值计数以及成员资格

  • unique方法用于获取Series中的唯一值数组(去重数据后的数组)
  • value_counts方法用于计算一个Series中各值的出现频率
  • isin方法用于判断矢量化集合的成员资格,可用于选取Series中或者DataFrame中列中数据的子集

python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第1张图片
python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第2张图片
python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第3张图片
python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第4张图片

二.pandas:层次索引

  • 在某一个方向拥有多个(两个及两个以上)索引级别
  • 通过层次化索引,pandas能够以较低维度形式处理高纬度的数据
  • 通过层次化索引,可以按照层次统计数据
  • 层次索引包括Series层次索引和DataFrame层次索引

python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第5张图片
python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第6张图片
python自学篇十六[pandas——数据分析 (四):唯一值+值计数+成员资格+层次索引+统计数据]_第7张图片

1.两种索引值

代码:

import numpy as np
from pandas import Series, DataFrame
import pandas as pd
data=Series([988.44,55656,6959,56564,1235],
            index=[  #设置索引值
                ['2001','2001','2001','2002','2002'],
                [u'苹果',u'香蕉',u'西瓜',u'苹果',u'西瓜']
            ])
data

结果:

2001  苹果      988.44
      香蕉    55656.00
      西瓜     6959.00
2002  苹果    56564.00
      西瓜     1235.00
dtype: float64

2.层次化索引

代码:

import numpy as np
from pandas import Series, DataFrame
import pandas as pd
df=DataFrame({
   "year": [2001,2001,2002,2002,2003],
    "fruit": ['apple','banana','apple','banana','apple'],
   "production":[2345,3124,5698,4563,2135],
     "profits": [233.22,2562.43,2233.6,2633.30,6332.30],
})
df=df.set_index(['year','fruit'])
df

结果:

	production	profits
year	fruit		
2001	apple	2345	233.22
banana	3124	2562.43
2002	apple	5698	2233.60
banana	4563	2633.30
2003	apple	2135	6332.30

三.pandas:按照层次索引进行统计数据

1.sum()

代码:

import numpy as np
from pandas import Series, DataFrame
import pandas as pd
df=DataFrame({
   "year": [2001,2001,2002,2002,2003],
    "fruit": ['apple','banana','apple','banana','apple'],
   "production":[2345,3124,5698,4563,2135],
     "profits": [233.22,2562.43,2233.6,2633.30,6332.30],
})
df=df.set_index(['year','fruit'])
print(df.sum(level='year'))

结果:

      production  profits
year                     
2001        5469  2795.65
2002       10261  4866.90
2003        2135  6332.30

2.min()

代码:

import numpy as np
from pandas import Series, DataFrame
import pandas as pd
df=DataFrame({
   "year": [2001,2001,2002,2002,2003],
    "fruit": ['apple','banana','apple','banana','apple'],
   "production":[2345,3124,5698,4563,2135],
     "profits": [233.22,2562.43,2233.6,2633.30,6332.30],
})
df=df.set_index(['year','fruit'])
print(df.min(level=['fruit','year']))

结果:

         production  profits
fruit  year                     
apple  2001        2345   233.22
banana 2001        3124  2562.43
apple  2002        5698  2233.60
banana 2002        4563  2633.30
apple  2003        2135  6332.30

3.mean()

代码:

import numpy as np
from pandas import Series, DataFrame
import pandas as pd
df=DataFrame({
   "year": [2001,2001,2002,2002,2003],
    "fruit": ['apple','banana','apple','banana','apple'],
   "production":[2345,3124,5698,4563,2135],
     "profits": [233.22,2562.43,2233.6,2633.30,6332.30],
})
df=df.set_index(['year','fruit'])
print(df.mean(level='fruit'))

结果:

   production   profits
fruit                        
apple   3392.666667  2933.040
banana  3843.500000  2597.865

四.算法运算和数据对齐

五. 函数的应用和映射

六. 重置索引

你可能感兴趣的:(python基础)