Python网络爬虫与文本数据分析

pingouin是基于Pandas和numpy开发的Python3统计包。主要统计功能有

  • 方差分析

  • 多元线性回归

  • 中介效应分析

  • 卡方检验

  • Q-Q图

  • 贝叶斯因子

  • 信效度检验

  • 等等

我是统计小白,看不懂啊;还有很多功能没有列上,感兴趣的统计大神可以看看https://pingouin-stats.org/api.html

安装

pip3 install pingouin

快速上手

构造实验数据x,y

import numpy as np#控制代码每次随机状态保持一致
np.random.seed(666)n=30
mean= [4,5]
cov = [(1, 0.6), (0.6, 1)]x, y = np.random.multivariate_normal(mean, cov, n).Tx
array([3.04817645, 2.54387965, 4.56033188, 4.40504338, 3.77876203,3.87177128, 3.4546112 , 4.47317551, 5.23133856, 5.40273745,5.19344217, 3.37061786, 3.23980982, 2.85574177, 4.67728276,4.31935242, 4.39440207, 3.87458876, 4.91426293, 3.13673286,3.73459839, 4.18708647, 5.48558345, 3.7066784 , 3.73400287,3.49664637, 3.95954844, 2.61545452, 5.11352964, 5.62666503])
y
array([4.47747109, 4.35695696, 5.46239455, 4.56091782, 4.07534588,4.03904897, 3.79549165, 5.06121364, 5.71635355, 6.60772697,6.94890455, 5.13347618, 5.41207983, 3.38254684, 5.49705058,5.93394729, 4.65224366, 4.59491971, 5.17926604, 4.25844527,5.72809738, 5.14997732, 5.27606588, 4.94570454, 6.02889647,5.85451666, 4.90231286, 4.69242625, 4.69367432, 6.71644528])
import matplotlib.pyplot as pltplt.hist(x, bins=10)

plt.hist(y, bins=10)

1. T检验

import pingouin as pgpg.ttest(x, y)
T dof tail p-val CI95% cohen-d BF10 power
T-test -4.597628 58 two-sided 0.000024 [-1.47, -0.58] 1.187102 786.346 0.994771

2. 皮尔森相关

pg.corr(x, y)
n r CI95% r2 adj_r2 p-val BF10 power
pearson 30 0.60149 [0.31, 0.79] 0.36179 0.314515 0.000439 82.116 0.955747

3.鲁棒检验

#添加一个异常值
x[5] = 18
#使用Shepherd's pi correlation
pg.corr(x, y, method="shepherd")
n outliers r CI95% r2 adj_r2 p-val power
shepherd 30 1 0.569458 [0.26, 0.77] 0.324283 0.274229 0.001263 0.926066

4. 数据正态性检验

pg.normality(x)
W pval normal
0 0.970533 0.553863 True
pg.normality(y)
W pval normal
0 0.985161 0.939893 True
pg.multivariate_normality(np.column_stack((x, y)))
(True, 0.6257634649268228)

5. Q-Q plot

import numpy as np
import pingouin as pgnp.random.seed(666)x = np.random.normal(size=50)
ax = pg.qqplot(x, dist='norm')

6. 单因素方差分析

# 读取数据
df = pg.read_dataset('mixed_anova')
df.sample(10)
Scores Time Group Subject
142 6.502562 January Meditation 52
55 5.355380 January Control 25
70 4.714565 June Control 10
167 6.586494 June Meditation 47
169 7.388138 June Meditation 49
107 5.031982 August Meditation 47
135 4.837971 January Meditation 45
163 5.483801 June Meditation 43
37 5.177205 January Control 7
4 4.779411 August Control 4
# Run the ANOVA
aov = pg.anova(data=df, dv='Scores',  #因变量between='Group', detailed=True)
aov
Source SS DF MS F p-unc np2
0 Group 5.459963 1 5.459963 5.243656 0.0232 0.028616
1 Within 185.342729 178 1.041251 NaN NaN NaN

7. 重复测量方差分析

pg.rm_anova(data=df, dv='Scores', within='Time', subject='Subject', detailed=True)
Source SS DF MS F p-unc np2 eps
0 Time 7.628428 2 3.814214 3.912796 0.022629 0.062194 0.998751
1 Error 115.027023 118 0.974805 NaN NaN NaN NaN

8. 有交互作用的双因素方差分析

# Compute the two-way mixed ANOVA and export to a .csv file
aov = pg.mixed_anova(data=df, dv='Scores', between='Group', within='Time',subject='Subject', correction=False, effsize="np2")
pg.print_table(aov)
=============
ANOVA SUMMARY
=============Source          SS    DF1    DF2     MS      F    p-unc    np2      eps
-----------  -----  -----  -----  -----  -----  -------  -----  -------
Group        5.460      1     58  5.460  5.052    0.028  0.080  nan
Time         7.628      2    116  3.814  4.027    0.020  0.065    0.999
Interaction  5.167      2    116  2.584  2.728    0.070  0.045  nan

9. 多元线性回归

pg.linear_regression(data[['X', 'Z']], data['Y'])
names coef se T pval r2 adj_r2 CI[2.5%] CI[97.5%]
0 Intercept 2.916901 1.444715 2.019015 0.053516 0.26855 0.214368 -0.047409 5.881210
1 X 0.610580 0.202261 3.018775 0.005487 0.26855 0.214368 0.195575 1.025584
2 Z -0.007227 0.192089 -0.037624 0.970264 0.26855 0.214368 -0.401361 0.386907

10. 中介效应分析

pg.mediation_analysis(data=data, x='X', m='Z', y='Y', seed=42, n_boot=1000)
path coef se pval CI[2.5%] CI[97.5%] sig
0 Z ~ X -0.287032 0.191454 0.145006 -0.679207 0.105142 No
1 Y ~ Z -0.165299 0.209888 0.437572 -0.595235 0.264637 No
2 Total 0.612654 0.191099 0.003354 0.221205 1.004103 Yes
3 Direct 0.610580 0.202261 0.005487 0.195575 1.025584 Yes
4 Indirect 0.002074 0.042262 0.976000 -0.088619 0.092009 No

Pingouin与Pandas

pandas.DataFrame可直接使用Pingouin的很多统计方法,例如

import pingouin as pg# Example 1 | ANOVA
df = pg.read_dataset('mixed_anova')
df.anova(dv='Scores', between='Group', detailed=True)# Example 2 | Pairwise correlations
data = pg.read_dataset('mediation')
data.pairwise_corr(columns=['X', 'M', 'Y'], covar=['Mbin'])# Example 3 | Partial correlation matrix
data.pcorr()

pandas.DataFrame支持的pingouin统计方法有:

  • pingouin.anova()

  • pingouin.ancova()

  • pingouin.rm_anova()

  • pingouin.mixed_anova()

  • pingouin.welch_anova()

  • pingouin.pairwise_ttests()

  • pingouin.pairwise_tukey()

  • pingouin.pairwise_corr()

  • pingouin.partial_corr()

  • pingouin.pcorr()

  • pingouin.rcorr()

  • pingouin.mediation_analysis()

R语言相关

R语言 | 读写txt、csv、excel文件
R语言 | 数据操作tidyr包R语言 | 数据操作dplyr包
R语言 | jiebaR中文分词包Python相关[更新] Python网络爬虫与文本数据分析
读完本文你就了解什么是文本分析文本分析在经管领域中的应用概述
综述:文本分析在市场营销研究中的应用plotnine: Python版的ggplot2作图库
小案例: Pandas的apply方法
stylecloud:简洁易用的词云库
用Python绘制近20年地方财政收入变迁史视频
Wow~70G上市公司定期报告数据集漂亮~pandas可以无缝衔接Bokeh
YelpDaset: 酒店管理类数据集10+G  后台回复关键词【pingouin】获取本文代码和数据
  • 分享”和“在看”是更好的支持!

Pingouin: 基于pandas和numpy的统计包相关推荐

  1. 大数据分析-NBA球员分析-基于pandas、numpy等-期末大作业

    目录 一.导入库并读取球员数据 二.查看前五条信息 三.查看后五条信息 四. 统计国家的数量 五.非空的列筛选 六.创建左表 七.创建右表 八.连接表 1.左连接表 2.右连接表 3.全连接表 九.对 ...

  2. python3.6安装pandas_python3.6更新pandas和numpy包

    python3.6更新包 python 3.6更新pandas1.0和numpy包 更新pandas 更新numpy python 3.6更新pandas1.0和numpy包 pandas版本过低的话 ...

  3. 【Python】Pandas、Numpy性能优化秘籍(全)

    pandas.numpy是Python数据科学中非常常用的库,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效.pandas是基于numpy的数据处理工具,能更方便的 ...

  4. CTR预估系列:DeepCTR 一个基于深度学习的CTR模型包

    在计算广告和推荐系统中,CTR预估一直是一个核心问题.无论在工业界还是学术界都是一个热点研究问题,近年来也有若干相关的算法竞赛.本文介绍一个基于深度学习的CTR模型包DeepCTR,具有简洁易用.模块 ...

  5. 12个很棒的Pandas和NumPy函数,让python数据分析事半功倍

    大家都知道Pandas和NumPy函数很棒,它们在日常分析中起着重要的作用.没有这两个函数,人们将在这个庞大的数据分析和科学世界中迷失方向. 今天,小芯将分享12个很棒的Pandas和NumPy函数, ...

  6. numpy序列预处理dna序列_?12个很棒的Pandas和NumPy函数,让分析事半功倍

    全文共5431字,预计学习时长16分钟 来源:Pexels 大家都知道Pandas和NumPy函数很棒,它们在日常分析中起着重要的作用.没有这两个函数,人们将在这个庞大的数据分析和科学世界中迷失方向. ...

  7. ​12个很棒的Pandas和NumPy函数,让分析事半功倍

    全文共5431字,预计学习时长16分钟 来源:Pexels 大家都知道Pandas和NumPy函数很棒,它们在日常分析中起着重要的作用.没有这两个函数,人们将在这个庞大的数据分析和科学世界中迷失方向. ...

  8. Python Statsmodels 统计包之 OLS 回归

    Statsmodels 是 Python 中一个强大的统计分析包,包含了回归分析.时间序列分析.假设检 验等等的功能.Statsmodels 在计量的简便性上是远远不及 Stata 等软件的,但它的优 ...

  9. Pandas、Numpy 性能优化秘籍(全)

    pandas.numpy是Python数据科学中非常常用的库,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效.pandas是基于numpy的数据处理工具,能更方便的 ...

最新文章

  1. 体素法滤波(附实现代码)
  2. 参加51CTO培训,华为HCNP认证考试通过啦
  3. 空间滤波_第三章 灰度变换与空间滤波-(六)锐化空间滤波器之非锐化掩蔽
  4. 2018.08.29 NOIP模拟 pmatrix(线性筛)
  5. 算法岗面试前怎样高效刷题?
  6. SQL Server 2012 各版本功能比较
  7. 【数据结构笔记13】C实现:判别是否是同一颗二叉搜索树(BST)
  8. amd的处理器能兼容idea么_AMD新一代CPU不向下兼容,究竟意味着什么?
  9. vue+element Form键盘回车事件页面刷新解决
  10. 大学生毕业如何选择职业?
  11. 【MATLAB深度学习工具 deepNetworkDesigner的使用 包涵实例手写数字识别和LSTM预测完整代码 】
  12. 搜狗输入法linux词库导入,搜狗输入法词库导入详解
  13. windows7自带的计算机,win7电脑自带投屏吗?
  14. 自定义 Oh My Zsh 主题 cchi.zsh-theme
  15. ubuntu计算机名用户名,修改ubuntu的用户名(注意用户名和主机名的区别)
  16. 为富人服务,挣富人的钱
  17. 使用Amazon SNS,发邮件
  18. 基于javaweb的景区旅游管理系统(java+springboot+html+layui+bootstrap+jquery+mysql)
  19. Redis入门指南 第1章 简介 Redis的几项特性
  20. CES Asia 2017:国内厂商大秀黑科技Hold住全场

热门文章

  1. [个人记录]春招C/C++后台/运维面试被问到的那些知识点(第一周)
  2. java 读取word 表格,java读取word表格方法
  3. 源代码管理工具——VSS详解
  4. Win7电脑无法进入睡眠模式?
  5. 给出一个用逗号分隔开的字符串。求各部分之和
  6. Vue之watch监听
  7. GB、Gb、MB、Mb知识扫盲
  8. 基于vue3+ts+scss的后台管理系统(二)----excel的导入导出
  9. 平板触控笔要原装的吗?开学季必备电容笔推荐
  10. 人的感性是否也属于理性的一种