Python中的相关分析correlation analysis的实现

yipeiwu_com7年前Python基础

相关分析(correlation analysis)

研究两个或两个以上随机变量之间相互依存关系的方向和密切程度的方法。
线性相关关系主要采用皮尔逊(Pearson)相关系数r来度量连续变量之间线性相关强度;
r>0,线性正相关;r<0,线性负相关;
r=0,两个变量之间不存在线性关系,并不代表两个变量之间不存在任何关系。

相关分析函数
DataFrame.corr()
Series.corr(other)

函数说明:
如果由数据框调用corr函数,那么将会计算每个列两两之间的相似度
如果由序列调用corr方法,那么只是该序列与传入的序列之间的相关度

返回值:
DataFrame调用;返回DataFrame

Series调用:返回一个数值型,大小为相关度

import numpy
import pandas
 
data = pandas.read_csv(
  'C:/Users/ZL/Desktop/Python/5.4/data.csv'
)
 
bins = [
  min(data.年龄)-1, 20, 30, 40, max(data.年龄)+1
]
labels = [
  '20岁以及以下', '21岁到30岁', '31岁到40岁', '41岁以上'
]
 
data['年龄分层'] = pandas.cut(
  data.年龄, 
  bins, 
  labels=labels
)
 
ptResult = data.pivot_table(
  values=['年龄'], 
  index=['年龄分层'], 
  columns=['性别'], 
  aggfunc=[numpy.size]
 File "<ipython-input-1-ae921a24967f>", line 25
  aggfunc=[numpy.size]
            ^
SyntaxError: unexpected EOF while parsing
 
 
import numpy
import pandas
 
data = pandas.read_csv(
  'C:/Users/ZL/Desktop/Python/5.4/data.csv'
)
 
bins = [
  min(data.年龄)-1, 20, 30, 40, max(data.年龄)+1
]
labels = [
  '20岁以及以下', '21岁到30岁', '31岁到40岁', '41岁以上'
]
 
data['年龄分层'] = pandas.cut(
  data.年龄, 
  bins, 
  labels=labels
)
 
ptResult = data.pivot_table(
  values=['年龄'], 
  index=['年龄分层'], 
  columns=['性别'], 
  aggfunc=[numpy.size]
)
 
ptResult
Out[4]: 
     size    
      年龄    
性别     女   男
年龄分层        
20岁以及以下  111  1950
21岁到30岁 2903 43955
31岁到40岁  735  7994
41岁以上   567  886

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python序列循环移位的3种方法推荐

第一种方法:特点是直接、容易理解,缺点是速度慢,只能实现循环左移。 def demo(lst, k): temp = lst[:] for i in range(k):...

django drf框架自带的路由及最简化的视图

django-drf框架自带的路由以及最简化的视图,具体内容如下所示: 路由 一.导入模块 from rest_framework.routers import SimpleRout...

python logging日志模块以及多进程日志详解

本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件。 1. logging日志模块介绍...

Python配置文件解析模块ConfigParser使用实例

一、ConfigParser简介 ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-va...

Django中使用group_by的方法

本文实例讲述了Django中使用group_by的方法。分享给大家供大家参考。具体分析如下: 在Django中怎样使用group_by语句呢?找了很多资料,都没有看到好的,在这里分享两种...