通过列索引值筛选内容的写法。

pcfr = pd.read_excel('hair.xlsx')
df = pcfr
# '=='后面替换品牌名字即可
m = df[df['product_title']=='remington ac2015 t|studio salon collection pearl ceramic hair dryer, deep purple']

情感分析函数。

def s_c_f(df):# 去重df.duplicated().value_counts() # NaN removedf['review_body'].str.split(expand = True)# date format convert'''经常报错,参考这个https://stackoverflow.com/questions/51367393/when-i-use-apply-function-in-pandas-it-shows-typeerror-must-be-string-not-fl有时候改了好了,换一个表又不行了'''# df['review_date'] = df.review_date.apply(lambda x : parser.parse(str(x)))# df['review_date'] = df.review_date.apply(parser.parse)df['review_date'] = pd.to_datetime(df['review_date'])#将date设置为indexdf=df.set_index('review_date')## sentiment analysis# func for polaritydef sentiment_calc(text):try:return TextBlob(text).sentiment.polarityexcept:return None# func for subjectivity    def sentiment_calc_sub(text):try:return TextBlob(text).sentiment.subjectivityexcept:return Nonedf['polarity'] = df['review_body'].apply(sentiment_calc)df['subjectivity'] = df['review_body'].apply(sentiment_calc_sub)return df
tmp = s_c_f(pcfr)
g = tmp.reset_index()
g.head(2)

现在的g长这个样子。后面还有两列polarity和subjectivity没有截上去。

一个蛮好看的图,以dataframe指定的两列为坐标轴,画出第三列的图像。但是不能直接画polarity,因为极性取值区间是[-1,1],会报ValueError: When stacked is True, each column must be either all positive or negative.1 contains both positive and negative values。必须全正/负才可以。

g.groupby(['review_date','star_rating']
)['subjectivity'].mean().unstack().plot(kind='area',figsize=(12,8),cmap="Blues", # defaults to orangish
)

grey = pd.DataFrame(columns = ['review_date','star_rating', 'polarity','subjectivity'])#创建指定新列的dataframe的方式
grey.review_date = g.review_date
grey.star_rating = g.star_rating
grey.polarity = g.polarity
grey.subjectivity = g.subjectivity

此时的grey.

grey.cov() #协方差

grey.corr() # 相关系数

import scipy.stats as stats
# 显著性检验 第一个pearsonr相关系数 第二个值p-value
stats.pearsonr(grey['star_rating'], grey['polarity'])

Out[53]:(0.41693928228069066, 0.0)

将review_date设为日期,方便后面groupie。

grey = grey.set_index('review_date')
# type(grey)
# grey.index
grey.head(2)

可以看到改变前后的对比。

……我有点忘了下面写的这一坨代码是干嘛的了。我当时好像是想,分别统计出一年里,star_rating=1,2,3,4,5的次数。捣鼓了半天不成功,就算了众数。参考

grey.loc['2015']
tmp2 = grey.groupby(grey.index.year).mean()
tmp2.star_rating = tmp.star_rating
tmp2['star_mode'] = '0'
tmp2.iloc[0,3] = grey.loc['2015'].star_rating.mode()[0]
tmp2.iloc[1,3] = grey.loc['2014'].star_rating.mode()[0]
tmp2.iloc[2,3] = grey.loc['2013'].star_rating.mode()[0]
tmp2.iloc[3,3] = grey.loc['2012'].star_rating.mode()[0]
tmp2.iloc[4,3] = grey.loc['2011'].star_rating.mode()[0]
tmp2.iloc[5,3] = grey.loc['2010'].star_rating.mode()[0]
tmp2.iloc[6,3] = grey.loc['2009'].star_rating.mode()[0]
tmp2.iloc[7,3] = grey.loc['2008'].star_rating.mode()[0]
tmp2.iloc[8,3] = grey.loc['2006'].star_rating.mode()[0]
tmp2.star_rating = true_mean
tmp2.head(20)

不过看起来好像有哪里不对……

pandas求协方差、相关系数、显著性检验相关推荐

  1. 在matlab中求协方差,matlab里面的求协方差函数

    一:matlab里面关于方差和协方差的几点需要注意的 求均值的函数:mean 求方差的函数:var 标准差: 方差: 求协方差的函数:cov 1 如果a,b是向量,则: cov(a,b)相当于是[D( ...

  2. Matlab系列教程_数值计算_求协方差和相关系数

    首先,什么是协方差和相关系数? 1.协方差 协方差,表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同. 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自 ...

  3. matlab求样本相关系数,matlab中样本相关系数的计算与测试

    1. 何谓相关系数? 此处只列出相关系数的公式: r=Cov(X,Y)σxσy=E(X−μx)(Y−μy)σxσy 更多内容请百度或者看概率论与数理统计方面的书. 文章的目的是测试一下如何使用这个公式 ...

  4. 标准差 方差 协方差 相关系数

    一.统计学的基本概念 统计学里最基本的概念就是样本的均值.方差.标准差.首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述: 均值: 标准差: 方差: 均值描述的是样本集合的中间点,它告 ...

  5. 时间序列举例--------协方差+相关系数+随机游走+平稳性

    一. 时间序列的影响因素 (1) 长期趋势-------------这个是进行预测的三原则之一 (2) 循环变动或周期性----------------------预测的三原则之一 (3)季节性变动- ...

  6. pandas求两个表格不相交的集合

    Hi,好久不见,我还是那颗翻滚的老鼠屎.处理数据时想求两个表格求不相交的部分,或许是对知识的匮乏限制了我的想象力,并未找到直接求的方法,在这里介绍老鼠屎技己使用的方法,希望对读者会有帮助. 阴影部分为 ...

  7. 数理统计-方差标准差协方差相关系数

    Q1. 方差.标准差.协方差.有什么区别 方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,描述样本偏离均值的平均程度或者说是样本的分散程度: 标准差是总体各单位标准值与其平均数离 ...

  8. 相关性分析 协方差 相关系数

    在机器学习当中,进行特征选择.特征筛选时都会使用特征之间的相关性分析.比如有两个特征相关程度非常大,几乎都是同一个意思,那么就可以只保留一个特征.简单总结一下一些计算变量之间相关性的指标. 协方差 协 ...

  9. 随机变量的期望 方差 协方差 相关系数的性质

    期望性质:E(C)=C,C为任意常数 E(aX+bY)=aE(X)+bE(Y) E(aX+C)=aE(X)+C X,Y独立 E(XY)=E(X)E(Y) 方差:D(X)=E(X*X)-E(X)*E(X ...

  10. Pandas 求余运算

    divmod(a, b)求余 s = pd.Series(np.arange(10)) print(s) 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 dtype: ...

最新文章

  1. 如何解决传输模式解决FTP连接问题
  2. 财务大数据比赛有python吗-Python 适合大数据量的处理吗?
  3. Tree命令安装和使用
  4. 明天参加GDG devfest
  5. P1582 倒水(二进制)
  6. 使其正序排序 打印一串数字_JavaScript计数排序算法
  7. 算法(8)-leetcode-explore-learn-数据结构-链表
  8. Java JUC工具类--CyclicBarrier
  9. 目标检测_目标检测: AnchorFree 时代
  10. mac系统,鼠标移动太慢
  11. 网站图片下载 Python
  12. 使用python GluonTS库做概率预测
  13. java getselecteditem_java – 为什么JComboBox上的getSelectedItem()不是通用的?
  14. python攻击局域网电脑_怎么攻击对方电脑?以知对方IP,且对方在线
  15. 7.Java反射面试题
  16. TFN FMT715C/ 760 C系列无线综合测试仪性能如何
  17. K3CLOUD 常用数据表
  18. 2021年人工智能学习路线图分享
  19. layer php相册层,贤心旧版jquery layer.js如何展示相册
  20. 基于Pandas的股票数据分析

热门文章

  1. 冰点文库下载器v3.2.9
  2. 法勒二维码读头数据读写测试
  3. Mybatis源码SqlSession源码分析
  4. EXCEL中如何分段进行快速填充
  5. python更改ip地址_用Python更改IP地址(转)
  6. 使用sql语句对数据库脱敏
  7. oracle ipad函数(从左边填充)
  8. MySQL数据库面试题(2022最新版)
  9. trend函数用oracle实现,excel线性回归拟合线Trend函数是这样来使用的
  10. Excel分段线性插值函数实现