numpy 读写文件
#写:函数将数据a存储到test.txt文件中
np.savetxt('test.txt', a)
#
读表示读取test.csv文件,分隔符设置
为‘,’(delimiter=','),usecols表示
取得哪几列数据,unpack=True表示分
拆存储不同列的数据,即分别将第6列与
第7列数据赋值给变量x,y
'''
x, y = np.loadtxt('test.csv', delimiter=',', usecols=(6,7), unpack=True)
数据分析常用函数
#加权平均,v作为权重参数
np.average(c, weights=v)
#算术平均
np.mean(c)
#取值范围
np.max(c)
np.min(c)
#ptp函数返回最大值与最小值之间的差值
np.ptp(c)
#median函数返回中位数
np.median(c)
#var方差
np.var(c)
#diff函数返回一个由相邻数组元素的差值构成的数组
np.diff(c)
#std函数计算标准差
np.std(c)
#where函数根据指定的条件返回所有满足条件的数组元素的索引值
idx = np.where(c>6)
# take函数按照索引值从数组中取出相应的元素,np.take(c,np.where(c>6))
data = np.take(idx)
#argmin返回是c数组中最小元素的索引值,argmax返回最大值索引值
np.argmin(c)
np.argmax(c)
#maximum函数可返回多个数组里的各最大值
np.maximum(a, b, c)
#同理minximum返回最小值
#exp函数可计算每个数组元素的指数
np.exp(x)
#linspace(s, e, [n])函数起始s, 终止e,个数n(可选),返回一个元素值在指定的范围内均匀分布的数组
np.linspace(-1, 0, 5)
#fill函数,将数组元素的值全部设置为一个指定的标量值
数据的修剪与压缩
#clip方法将所有比给定最大值还大的元素全部设为给定的最大值,而所有
#比给定最小值还小的元素全部设定为给定的最小值
a = np.arange(5)
a.clip(1,2)
#compress方法返回一个根据给定条件筛选后的数组
a = np.arange(4)
a.compress(a>2)
#[3]
数据的相关性
#协方差,描述两个变量共同变化趋势
c = np.cov(a,b)
#diagonal返回对角线上的元素
c.diagonal()
#trace计算矩阵的迹,即对角线上元素之和
c.trace()
#corrcoef函数计算相关系数(或者更精确地,相关系数矩阵)
np.corrcoef(a, b)
corrcoef()叫做皮尔逊系数,返回的是一个矩阵
a = pd.Series([1,2,3,4,5,6,7,8,9,10])
b = pd.Series([2,4,1,5,1,3,6,2,7,0])
c = pd.Series([0,3,2,1,4,7,1,9,6,2])
x = np.vstack((a,b,c))
r = np.corrcoef(x)
print ( r )
输出:
[[1. 0.10233683 0.47840854]
[0.10233683 1. 0.0242104 ]
[0.47840854 0.0242104 1. ]]
需要注意的是, np.corrcoef() 接受的参数是一个矩阵,返回的结果也是一个矩阵
以上面的代码为例: a,b,c 分别为第0,1,2 组数组,返回的矩阵结果r[i][j] 分别为第 i 组数据和第 j 组数据的皮尔逊积矩相关系数:
r[0][0] 计算的是第 [0] 组数组和第 [0] 组数据的相关系数,也就是 a 和 a,结果当然是1.
r[0][1] 计算的是第 [0] 组数组和第 [1] 组数据的相关系数,也就是 a和 b,结果是0.10233683
r[2][0] 计算的是第 [2] 组数组和第 [0] 组数据的相关系数,也就是 c和 a,结果是0.47840854