07 pandas DataFrame - 相关系数与协方差、去重、计数、成员资格

简介: === 相关系数与协方差 ===相关系数(Correlation coeffieient):是研究变量之间线性相关程度的量,一般用字母 r 表示。协方差(Convariance,COV):反应了两个样本之间的相互关系和关联程度。

=== 相关系数与协方差 ===

相关系数(Correlation coeffieient):
是研究变量之间线性相关程度的量,一般用字母 r 表示。

协方差(Convariance,COV):
反应了两个样本之间的相互关系和关联程度。

img_537264a3c1d4653ad080995749830b5f.png
协方差COV

有一组年龄和身高的数据

import pandas as pd
import numpy as np
data = pd.DataFrame({
        "年龄":[8,9,10,11,12],
        "身高":[130,135,140,141,150]
    })

1、协方差

研究年龄和身高成一个什么样的关系

data['年龄'].cov(data['身高'])

11.5

如果返回的是正数,代表两组数据“同向”发展,数值越大,“同向”程度越高
这组数据的返回值是11.5,代表年龄的身高之间还是有点关系的

如果身高的数据改成 "身高":[150,145,140,131,130] 越长越矮
则返回 -11.5,代表两组数据“反向”发展,数值越大,“反向”程度越高

2、 相关系数 - 判断两组数据是否相似

取值为[-1,1] 越接近1,代表相似程度越高

data['年龄'].corr(data['身高'])

0.9745412767961823

如果将身高其中一项改成145,使得数据完全相似
"身高":[130,135,140,145,150]
即年龄每长1岁,身高必长5厘米
则返回值为1,表示完全相似

=== 去重 ===

stu_info = pd.read_excel('student_info1.xlsx',sheetname='countif').head(5)
stu_info
img_64b8731681a8b83fa9376ad46f5de2a2.png

数据去重 unique
unique只能针对Series进行去重

print(type(stu_info))
print(type(stu_info['语文']))
print(type(stu_info['语文'].unique()))

stu_info['语文'].unique()
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.series.Series'>
<class 'numpy.ndarray'>
array([58, 93, 86, 96, 52], dtype=int64)

=== 计数 ===

每个成绩出现的次数 value_counts
value_counts只能用于Series

stu_info['语文'].value_counts()
86    1
93    1
52    1
58    1
96    1
Name: 语文, dtype: int64

=== 成员资格 ===

判断DataFrame的Series中是否存在某个值
语文成绩中是否有93或96

stu_info['语文'].isin([93,96])
0    False
1     True
2    False
3     True
4    False
Name: 语文, dtype: bool
相关文章
|
2月前
|
BI 数据处理 索引
Pandas基本操作:Series和DataFrame(Python)
Pandas基本操作:Series和DataFrame(Python)
115 1
|
12天前
|
SQL 数据库 索引
Pandas之DataFrame,快速入门,迅速掌握(三)
Pandas之DataFrame,快速入门,迅速掌握(三)
|
12天前
|
数据采集 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(二)
Pandas之DataFrame,快速入门,迅速掌握(二)
|
9天前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按&#39;Name&#39;和&#39;Age&#39;列排序 DataFrame。先按&#39;Name&#39;排序,再按&#39;Age&#39;排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
22 1
|
9天前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df[&#39;C&#39;] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
37 0
|
9天前
|
Python
在Pandas中,利用boolean indexing可按条件过滤DataFrame
【5月更文挑战第2天】在Pandas中,利用boolean indexing可按条件过滤DataFrame。通过&(和)和|(或)操作符可基于多个条件筛选。
19 1
|
12天前
|
编译器 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(一)
Pandas之DataFrame,快速入门,迅速掌握(一)
|
15天前
|
数据采集 数据处理 索引
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
27 3
|
18天前
|
SQL 数据采集 数据挖掘
Pandas DataFrame 基本操作实例100个
Pandas DataFrame 基本操作实例100个
73 1
|
25天前
|
存储 数据挖掘 数据处理
Pandas数据结构详解:Series与DataFrame的奥秘
【4月更文挑战第16天】Pandas的Series和DataFrame是数据处理的核心工具。Series是一维标签化数组,支持各种数据类型,可通过索引便捷访问。DataFrame是二维表格型数据结构,适合存储和操作表格数据。两者提供丰富的统计方法和操作,如筛选、排序、分组聚合。它们之间可相互转换和交互,助力高效的数据分析。理解和掌握Series和DataFrame对于数据科学至关重要。