20221128笔记
#学了半天才发现版本有点低 或者我用的版本太高了 最新的3.9 pandas讲到panel发现我的版本没有这个东西 上网查了半天才发现新版本已经抛弃了panel 停学这个课程 昨天开始换了新课程 再从numpy开始扎扎实实学起
## 先学习 做练习 一周解决numpy 下一周pandas 在下一周matplotlib
pandas
学习目标
-
目标
-
了解pandas与numpy的不同
-
了解盘打算的multiindex与panel结构
-
说明pandas的series与dataframe两种结构的区别
-
-
应用
-
股票涨跌幅数据的修改
-
-
内容预览
-
4.1.1 pandas介绍
-
'''
集成了numpy与matplotlib 可以进行数学计算与画图
panel + data + analysis三个词组合而成
金融与经济领域通常使用panel + data
以numpy为基础,
基于matplotlib,能够简单画图
独特的数据结构
'''
-
4.1.2 为什么使用pandas
1.便捷的数据处理能力
2.读取文件方便
3.封装了matplotlib、numpy进行画图和数据计算
三大数据结构:dataframe、panel、series
-
4.1.3 dataframe
-
1.dataframe的结构
-
#创建一个符合正态分布的10个股票5天的涨跌幅数据
stock_change = np.random.normal(0,1,(10,5))
stock_change
array([[-1.71494242e+00, 7.36300496e-01, -4.95922269e-01, 3.68087242e-01, -4.86830151e-03],
[ 2.24830482e-04, -2.06141280e+00, -3.06700036e-01,8.35788454e-01, 7.37607949e-01],
[-1.63298747e+00, -1.11216686e+00, 1.06091143e+00,-3.16533215e-01, -3.23207533e-01],
[ 5.98505614e-01, -1.55178911e+00, 9.31768744e-01,-6.72001628e-01, 8.40092715e-01],
[ 6.90219146e-01, -2.31856379e-01, 4.73648511e-01,2.69128862e-01, -2.88734194e-02],
[ 6.62391683e-01, 1.64458470e+00, -7.90748590e-01,-1.03799583e+00, -5.01703739e-01],
[ 9.68241543e-01, 1.12045541e-01, -4.21707819e-01,-1.01185444e+00, 1.48084378e+00],
[ 5.31208924e-01, 4.77066773e-01, -3.88685706e-01,1.57088478e+00, -3.29649075e-01],
[ 6.05227814e-01, 1.92094819e+00, 1.83406502e-01,-9.18803233e-01, 1.30180543e-01],
[ 3.08437216e-01, 3.07719920e-01, -2.12886661e+00,-1.20396225e+00, -2.11142931e+00]])
'''这样的数据形式很难看出存储的是什么样的数据,并且也很难获取相应的数据,比如要获取某个指定股票的数据,就很难获取'''
#numpy只是负责数据运算
pandas生成既有行索引又有列索引的数据
#使用pandas的数据结构
import pandas as pd
stock_change = pd.DataFrame(stock_change)
stock_change
0 1 2 3 4
0 0.309832 -0.644090 -0.742092 -1.003895 -0.929964
1 0.417610 -0.517722 0.910264 -1.446833 -0.804855
2 1.183603 -0.884039 1.068103 0.863983 -0.562418
3 0.315805 0.364772 0.923782 -1.421325 0.082067
4 0.236273 0.488066 -0.837882 -1.523267 -0.489978
5 -0.616132 -0.371062 0.853025 0.276212 0.941449
6 -0.731422 -1.780009 0.195037 -0.685665 0.572221
7 1.307805 -1.740956 1.430240 0.979867 1.229524
8 0.430395 -0.663458 0.731798 -0.380059 -0.020449
9 -0.816317 -0.689241 -2.011611 1.007868 -1.303227
#指定行内索引
#添加行索引,构造列表生成式
stock = ["股票{}".format(i) for i in range(10)]
#给股票添加行索引
stock_change = pd.DataFrame(stock_change,index=stock)
stock_change
0 1 2 3 4
股票0 NaN NaN NaN NaN NaN
股票1 NaN NaN NaN NaN NaN
股票2 NaN NaN
