首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pandasNote4

pandasNote4

作者头像
皮大大
发布于 2021-03-01 09:23:32
发布于 2021-03-01 09:23:32
34200
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import pandas as pd
from pandas import Series, DataFramei
import pandas_datareader.data as web

协方差和相关系数

  • corr()
  • cov()
  • corrwith()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
all_data = {ticker: web.get_data_yahoo(ticker)
            for ticker in ['AAPL', 'IBM', 'MSFT', 'GOOG']}
price = pd.DataFrame({ticker: data['Adj Close']
                      for ticker, data in all_data.items()})
volume = pd.DataFrame({ticker: data['Volume']
                        for ticker, data in all_data.items()})
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 计算价格的百分变化
returns = price.pct_change()
returns.head()

AAPL

IBM

MSFT

GOOG

Date

2009-12-31

NaN

NaN

NaN

NaN

2010-01-04

0.015565

0.011841

0.015420

0.010920

2010-01-05

0.001729

-0.012080

0.000323

-0.004404

2010-01-06

-0.015906

-0.006496

-0.006137

-0.025209

2010-01-07

-0.001849

-0.003461

-0.010400

-0.023280

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 计算相关系数和协方差
print(returns["MSFT"].corr(returns["IBM"]))  # 通过标签的形式
print(returns["MSFT"].cov(returns["IBM"]))
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0.49161308372179857
8.80330763108205e-05
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
returns.MSFT.corr(returns.IBM)  # 通过属性的形式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0.49161308372179857
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 协方差和相关系数矩阵
print(returns.corr())
print(returns.cov())
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          AAPL       IBM      MSFT      GOOG
AAPL  1.000000  0.387306  0.458039  0.463707
IBM   0.387306  1.000000  0.491613  0.407577
MSFT  0.458039  0.491613  1.000000  0.539243
GOOG  0.463707  0.407577  0.539243  1.000000
          AAPL       IBM      MSFT      GOOG
AAPL  0.000267  0.000078  0.000108  0.000118
IBM   0.000078  0.000154  0.000088  0.000079
MSFT  0.000108  0.000088  0.000209  0.000121
GOOG  0.000118  0.000079  0.000121  0.000242
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# corrwith():计算某列或者行和另一个S或者DF数据之间的相关系数
returns.corrwith(returns.IBM)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AAPL    0.387306
IBM     1.000000
MSFT    0.491613
GOOG    0.407577
dtype: float64

唯一值、值计数和成员资格

  • unique():返回未排序的值
  • value_counts():计算出现的频率,降序
    • pd.value_counts(obj.values, sort=False)
  • isin()判断成员资格
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
obj = pd.Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 值计数功能
uniques=obj.unique()
uniques
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array(['c', 'a', 'd', 'b'], dtype=object)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
obj.value_counts()  # 默认是降序通过sort=False关闭降序功能pd.value_counts(obj.values, sort=False)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a    3
c    3
b    2
d    1
dtype: int64
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 成员资格
mask = obj.isin(['b', 'c'])
mask
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0     True
1    False
2    False
3    False
4    False
5     True
6     True
7     True
8     True
dtype: bool
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
obj[mask]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0    c
5    b
6    b
7    c
8    c
dtype: object

相关列的柱状图

将pandas.value_counts传给该DataFrame的apply函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = pd.DataFrame({'Qu1': [1, 3, 4, 3, 4],
                     'Qu2': [2, 3, 1, 2, 3],
                     'Qu3': [1, 5, 2, 4, 4]})
data

Qu1

Qu2

Qu3

0

1

2

1

1

3

3

5

2

4

1

2

3

3

2

4

4

4

3

4

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
result = data.apply(pd.value_counts).fillna(0)
result

Qu1

Qu2

Qu3

1

1.0

1.0

1.0

2

0.0

2.0

1.0

3

2.0

2.0

0.0

4

2.0

0.0

2.0

5

0.0

0.0

1.0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data.apply(pd.value_counts)

Qu1

Qu2

Qu3

1

1.0

1.0

1.0

2

NaN

2.0

1.0

3

2.0

2.0

NaN

4

2.0

NaN

2.0

5

NaN

NaN

1.0

Stay Foolish Stay Hungry

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-9-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结
pandas是本书后续内容的首选库。它含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具一同使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理。 虽然pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的。而NumPy更适合处理统一的数值数组数据。
SeanCheney
2018/04/24
6.3K0
《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结
Pandas笔记-进阶篇
panda对象拥有一组常用的数学和统计方法,他们大部分都属于简约统计,NA值会自动被排除,除非通过skipna=False禁用
Ewdager
2020/07/14
7300
python数据分析之pandas包
相关系数和协方差唯一值值计数及成员资格处理缺失数据层次化索引数据透视生成重排分级次序根据级别汇总统计列索引转为行索引读取文件导出文件数据库风格的DataFrame合并pandas知识体系图
用户7886150
2020/12/26
1.2K0
Python 数据处理:Pandas库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 数据处理:Pandas库的使用 ---- Python 数据处理:Pandas库的使用 1.Pandas 数据结构 1.1 Series 1.2 DataFrame 2.基本功能 2.1 重新索引 2.2 丢弃指定轴上的项 2.3 索引、选取和过滤 2.4 用 loc 和 iloc 进行选取 2.5
小嗷犬
2022/11/15
24.1K0
Python 数据分析(PYDA)第三版(二)
NumPy,即 Numerical Python,是 Python 中最重要的数值计算基础包之一。许多提供科学功能的计算包使用 NumPy 的数组对象作为数据交换的标准接口之一。我涵盖的关于 NumPy 的许多知识也适用于 pandas。
ApacheCN_飞龙
2024/05/24
7150
Python 数据分析(PYDA)第三版(二)
Pandas-Series知识点总结
根据list pandas有两种主要的数据结构,第一种是Series,是一种类似于一维数组的数据结构,它由一组数据以及一组与之相关的数据标签组成。我们可以直接根据list来生成一个Series。
用户1332428
2023/03/28
3690
Pandas-Series知识点总结
pandas库的简单介绍(4)
排名这个功能目前我用的不怎么多,但还是简单说明一下。排名用到了rank方法。默认情况下,rank通过将平均排名分配到每个组来打破平级关系。
python数据可视化之路
2023/02/23
1.6K0
Pandas高级教程之:统计方法
数据分析中经常会用到很多统计类的方法,本文将会介绍Pandas中使用到的统计方法。
程序那些事
2021/07/08
5580
Pandas基础操作学习笔记
pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。
python与大数据分析
2022/03/11
1.1K0
利用Python进行数据分析笔记
本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”,重点却是Python编程、库,以及用于数据分析的工具。这就是数据分析要用到的Python编程。
CtrlX
2023/03/21
5.4K0
利用Python进行数据分析笔记
Pandas-Series知识点总结
1、Series创建 根据list pandas有两种主要的数据结构,第一种是Series,是一种类似于一维数组的数据结构,它由一组数据以及一组与之相关的数据标签组成。我们可以直接根据list来生成一个Series。 obj = pd.Series([4,7,-5,3]) obj #输出 0 4 1 7 2 -5 3 3 dtype: int64 可以通过index和values属性来获得obj的索引和值 obj.index #RangeIndex(start=0, stop=4,
石晓文
2018/04/11
7130
用pandas 进行投资分析
让我们进行一个常见的分析,您可能自己就可以完成这个分析。假设您想分析股票绩效,那么您可以: 在 Yahoo 金融专区找一支股票。 下载历史数据,保存为 CSV 文件格式。 将 CSV 文件导入 Excel。 进行数学分析:回归、描述性统计或使用 Excel Solver 工具进行线性优化。 很好,但本文为您展示一种更简单、更直观、功能更强大的方法,使用 IPython 和 pandas 进行同种分析。 工具准备 IPython 库是使用 Python 的数据科学家的重要工具之一。该工具与 Excel 的最
机器学习AI算法工程
2018/03/12
1.3K0
用pandas 进行投资分析
邻近模糊匹配?你可能不知道的pandas骚操作,确实很好用!
现在我们有两份数据,一份记录着每天不同玩家购买某道具的时候实际支付的购买金额,另外一份记录着该道具调整售价的日期及对应售价。
可以叫我才哥
2021/08/05
2.2K0
使用 Python 进行财务数据分析实战
在迅速变化的金融领域中,数据分析和解释的能力至关重要。本文探讨了Python在金融数据分析中的应用,包括使用Pandas、NumPy和Matplotlib等Python库,它们能够处理股票市场数据、展示趋势并构建交易策略。无论你是经验丰富的金融分析师还是初入投资领域者,这些见解和技巧都将增强你的分析技能,拓宽对金融市场动态的理解,并帮助你在股票市场做出明智的决策。
数据STUDIO
2024/07/24
1.6K0
使用 Python 进行财务数据分析实战
Pandas-DataFrame基础知识点总结
1、DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。 DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。 根据字典创建 data = { 'state':['Ohio','Ohio','Ohio','Nevada','Nevada'], '
石晓文
2018/04/11
4.4K0
Pandas-DataFrame基础知识点总结
【数据分析可视化】股票市场分析实战之风险分析
# 基本信息 import numpy as np import pandas as pd from pandas import Series, DataFrame # 股票数据读取 import pandas_datareader as pdr # 可视化 import matplotlib.pyplot as plt import seaborn as sns #%matplotlib inline # time from datetime import datetime # 读取本地数据 ali
瑞新
2020/07/07
5700
金融数据分析库yfinance,初次使用体验!
今天给大家介绍一个金融数据分析库yfinance,主要是基于该库下的股票数据分析及股价预测(使用LSTM模型)
皮大大
2023/08/29
15.8K2
Python-for-data-移动窗口函数
.dataframe tbody tr th:only-of-type { vertical-align: middle; } <pre><code>.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } </code></pre>
皮大大
2021/03/01
2.3K0
Python-for-data-移动窗口函数
精心整理 | 非常全面的Pandas入门教程
pandas是基于NumPy的一种数据分析工具,在机器学习任务中,我们首先需要对数据进行清洗和编辑等工作,pandas库大大简化了我们的工作量,熟练并掌握pandas常规用法是正确构建机器学习模型的第一步。
Python数据科学
2019/06/14
10.2K0
精心整理 | 非常全面的Pandas入门教程
Pandas 2.2 中文官方教程和指南(十三)
写时复制将成为 pandas 3.0 的默认设置。我们建议现在就启用它以从所有改进中受益。
ApacheCN_飞龙
2024/04/25
5690
相关推荐
《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档