基础库的知识点回顾

##知识点的回顾

数据结构,numpy与pandas


数据结构:

一、元组,列表,集合,字典,数组,数据框的增、删、插、补

1、元组以()的形式创建,注:当元组中只有一个数字时,需要在该元素后面添加一个逗号。否则是创建不了一个元组类型(type函数)的。数据的访问几乎都是用【】。

2、列表以【】的形式创建,给出位置查看数据用【】,给出数据查看位置用index函数,提示:几乎所有的函数都是用 **.**来连接对象的。
添:append,删:remove,清除:clear,插:insert(pos,num).
排序:sort,逆序:reverse,计数:count(a) ,a出现的次数

3、集合以{} 的形式创建,每个集合的元素是无序而且不重复的。其运算主要有:
并:I ,交:& ,差:— (得到是前者有,后者木有的元素)添:add,删:discard

4、字典以{}和键值对形式创建,键不可重复,形式表现为{‘key1’:‘value1’,‘key2’:‘value2’}。
#字典的键盘访问:key(),
#字典的值的访问:values(),
#字典-列表-元组:将字典中的每个元素(键值对)组成一个元组放在列表中输出:items()
#修改:直接以等号更新 dict[‘交易日期’]=‘2019-01-07’
采用函数update({}),括号中输入更新的字典。
#删:del dict[‘交易日期’]

5、数组(向量和矩阵)
一维数组:np.array(一个数列) 注:数列是用相当于列表
二维数组:np.array([数列1,数列2,数列3])
维数的查看:shape()###注意不用括号 array1.shape 就好
维度用 ndim
元素数量用 size
元素类型用dtype
###注意都是不用括号的
列表转换为数组用np.array(list1)
数组维数的重构用reshape
如:array1. reshape(3,4) 3行4列
将多维数组降至一维用ravel()
数组的便捷生成
range 和arange
range输出的是一个列表
arange输出的是一个数组
a=np.arange(10) 默认1……10
b=np.arange(1,15,3) 前面两个数字指明范围,后面指明步长
等差数列的构建 linespace
np.linespace(0,100,50) 最后一个数字代表个数
创建元素为0 的数组 /为1的 ones()
np.zeros(5) ##一维数组
np.zeros((3,4)) ##二维数组
生成已有数组相同维度,同形状的数组
np.zeros_like(array1)
数组的索引,切片和排序
索引:【2,3】 or np.where(array1<-0.01) 括号里面是一个条件,返回值为代表行索引的数组和代表列索引的数组,两个需要组合起来读取数据的位置。
切片:整行–array1,整列----array[,1] ,具体面积:array[2:,1:4]
排序:np.sort(array,axis=0) # 注意:按列对元素排序
np.sort(array,axis=1) # 注意:按行对元素排序
数组的相关运算
函数的应用啦,就是**.**
array.sum(axis=0) ##对列求和
array.prod(axis=0) ##对列求积
array.max(axis=0)
array.var(axis=0)
array.std(axis=0)
array.mean(axis=0)
++++幂运算==== 每个元素的相同运算
np.sqrt(array) 根号,平方,对数
np.square(array)
np.log(array)
++++数组的加减乘除
array3=np.maximum(array1,array2) #生成两个数组对应元素的最大值,作为array3的元素
矩阵的运算
#协方差:cov()
相关系数矩阵:corrcoef()
对角线:diag
上三角:triu
下三角:tirl
迹:trace
转置:.T
内积:np.dot(array1,array2)
按照分布生成随机数组
import numpy.random as npr
npr.normal(loc=1,scale=2,size=1000) ##均值1,标准差2
npr.randn(1000)##标准正态
npr.chisquare(df=4,size=1000)##卡方分布
npr.standard_t(df=4,size=1000)##t分布
npr.f(dfnum=6,dfden=8,size=100)##F分布
npr.beta(a=6,b=8,size=100)##beta分布
npr.gamma(shape=6,scale=8,size=100)##beta分布


二、Pandas:

1、序列和数据框

series是一个类似于一维数组的数据结构,不过它是由两个部分组成的,index和数值
pd.series([1,2,3,4],index=[‘a’,‘b’,‘c’,‘d’])
数据框是一个类似于二维数组的数据结构,不过它是由三个部分组成的,index行缩影,columns列索引,二维数组作为数据
构建方式:
pd.Dataframe(data=array1,index=list1,colums=list2)
2、数据的导出
dataframe1.to_excel(‘path’)
3、数据的导入
pd.read_table(‘文件’,index_col=0,delimiter=’’)
#将第一列作为索引列,
具体参考pandas之 read_table函数读取txt文件
链接: https://blog.csdn.net/u014453898/article/details/86601224.
read_excel(‘文件路径’,sheetname,header=0,index_col=0)
#header=0,index_col=0 表示第一行为列名行,第一列为索引列
read_csv('文件路径’,sep,delimiter,header,index_col)
具体参考–非常值得一读
链接: https://www.cnblogs.com/traditional/p/12514914.html.
4、数据查看
dataframe1.head()
dataframe1.tail()
dataframe1.index
dataframe1.columns
dataframe1.shape
dataframe1.describe()
数据框的索引和切片
1、索引

函数名功能
loc输入行索引取数
iloc输入行号取数
ix两者的混合体

2、一般性截取
dataframe1[:3] #前3行
dataframe1[2:8] #3到9行
dataframe1.iloc[7:13,1:3] #8到13行,2到4列
3、条件性截取
dataframe1[dataframe1['收盘价‘] >=40] #条件筛选
数据框的排序
1、按照行索引大小排序
比如说时间,序号的乱序,倒序就可以调整了
dataframe1.sort_index(axis=0,ascending=True)
按照行索引,由小到大排序
2、按照列名对应的数值大小进行排序
比如根据某一个指标进行数据的排序
dataframe1.sort_values(by=‘收盘价’,ascending=True)
数据框的更改
1、更改列名,rename
dataframe1.rename(columns={‘A’,‘B’})
2、缺失值的处理
删除:dropna()
补齐:fillna(value=0)
向前填充,向后填充
fillna(method=’ffill‘),fillna(method=‘bfill’)
数据框之间的操作
concat([A,B],axis=0) 按照行
按照列的有三种:
concat([A,B],axis=1)
merge(left=A,right=B,left_index=True,right_index=True)
A.join(B,on=‘列名’)


三、数据框的统计函数

普遍的形式是:dataframe1.hanshu()

函数简介
diff后一个数减去前面一个数据
idxmax /min最大/小值的行索引值
kurt /skew各个指标的峰度
pct_change百分比变化
quantile(q=0.2)2分位数
shift(1)数据移动一位,索引不变
cumsum累计求和,一般看表的尾部比较重要
corr相关系数的求解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值