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月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
162 0
|
8天前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
23 2
Pandas 数据结构 - DataFrame
|
3月前
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
|
3月前
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如&#39;inner&#39;、&#39;outer&#39;等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
63 1
|
3月前
【Pandas+Python】初始化一个全零的Dataframe
初始化一个100*3的0矩阵,变为Dataframe类型,并为每列赋值一个属性。
41 2
|
3月前
|
SQL 数据采集 JSON
Pandas 使用教程 Series、DataFrame
Pandas 使用教程 Series、DataFrame
55 0
|
3月前
|
Python
[pandas]从多个文件中构建dataframe
[pandas]从多个文件中构建dataframe
|
3月前
|
索引 Python
【Pandas】Pandas Dataframe 常用用法
Pandas DataFrame的常用操作示例,包括筛选数据、索引操作、合并DataFrame、设置和排序索引、文本处理、列重命名、处理缺失值、排序以及删除满足特定条件的行等技巧。
58 0
|
3月前
|
Python
【Pandas】Pandas的DataFrame按行插入list数据或者读取一行并存为csv文件
本文提供了使用Pandas库对DataFrame进行操作的示例代码。
176 0
|
4月前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。