大数据基本公式——一:基础

 

pandas有用的笔记

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import re
plt.style.use("ggplot")       

显示中文:plt.rcParams['font.sans-serif']=['SimHei']   #plt.rcParams['font.sans-serif']=['Arial Unicode MS']    mac
显示负号: plt.rcParams['axes.unicode_minus']=False
pd.options.display.max_rows = 1000       #最大显示数,有了这个就不会只显示一小块数据了
pd.set_option('display.max_rows', None)  #同上,要检验

data_list = []
for i in range(1,8):
try:
data = pd.read_csv(f'./fangchan/lianjia{i}.csv',encoding = 'gbk')------很少用gbk
except:
data = pd.read_csv(f'./fangchan/lianjia{i}.csv')
finally:
data_list.append(data) 

np.array是可以运算的,要注意

 

 

 

 

 

 

 

属于np的方法                                                                                                                                                                                                        

a.ndim
a.dtype
a.shape=2,5
a=np.zeros(10) 或  b=np.ones((2,5))
a=np.empty((2,3,4)) 2个3行4列 的“随机”
np.unique(a)        唯一值
np.arrange(10)
np.arage(24).reshap(2,3,4)
np.linspace(0,10,10).  第三个参数不写就是50
np.maximum(a,b)  最大值——要比较,要有两个数组对比
np.max(a)
np.substract(a-b)  减
np.mean(a).          均值。  同a.mean()
np.sum()               和
np.std()                方差
np.median()           中位值
a.sort()                 直接生效。  np.sort(a)  a不直接变化
np.argsort(a)         返回索引
np.argmax(a)         最大值所在索引
np.where()            条件索引

 

random正态分布随机数

np.random.randn(10)   长度为10正态分布随机数
np.random.randn(3,4) 
np.random.nornal((size=3,4)) 正态分布的随机数————均值为0方差为1——标准正态分布随机数
np.random.randint(1,10,(3,4))
np.random.permutation(len(a))       乱序
np.random.choice([1,2,3,4,5,6]       随机选择
np.random.seed(5)然后np.random.random.randn(3,5)
np.random.randn(10).cumsum().     累加(matplotlib节选)
np.linspace
 
np.save('lesson1',a)
np.load('lesson1.npy')
np.savetxt('lesson1',a)
np.loadtxt('lesson1)
 
 
matplotlib                                                                                                                                                                                                                                                                                                                                       
plt.show()和%matplotlib inline_新版本不用
plt.plot([2,4,7,9]) 或plt.plot(x,y)
plt.legend()配合.  plt.plot(x,y,label='A')       显示label用legend()
plt.plot(color='r',).   
linestyle='-.',linewidth=5,marker='^'          参数
plt.xlabel('age')                                       标记x轴名
plt.title('title',y='1.03')                               距离长短
plt.xlim(0,10).  plt.ylim(0,5)                        轴的取值               
plt.xticks([0,4,8],['出生','baby','child'])         标记取值名                yticks()同理
plt.grid()                   网格
plt.style.use('ggplot')
import seaborn直接这样写就是引入了
plt.bar(x,y,bottom=y)用y做底和别的图对比————有两个图的情况
plt.barh(x,y,)                 横向

直方图

plt.figure(figsize=(10,10))视始化一张画布  默认会有还给我

直方图plt.hist (data,bins=40)里面的bins是分成多少份 

箱形图

箱形图的异常值:这个值+大于上四分位+1.5倍上四分位-下四分位,或:小于下四分位-上四分位-下四分位的1.5倍

线形图plt.scatter()   里面的s= 是管点的大小,要留意

饼图

plt.pie(size,labels=labels).   size=[10,20,40,30] labels=["微软","谷哥","雅虎","亚马逊"]

plt.pie(size,labels=labels,autopct="%1.1f%%",explode=explode,startangle=90).    explode是突出=(1,0,0,0)

plt.subplot(2,1,1)先规划图的组成

plt.plot(x,y)画第一个

plt.subplot(2,1,2)先规划图的组成

plt.plot(x,y2)画第一个

plt.suptitle('')总标题

 
 plt.figure(figsize=(10,8),dpi=300)分辨率

plt.rcParams['font.ans-serif']=['SimHei']

显示中文:plt.rcParams['font.sans-serif']=['SimHei']   windows

plt.rcParams['font.sans-serif']=['Arial Unicode MS']    mac

显示负号: plt.rcParams['axes.unicode_minus']=False

plt.xticks([],[],rotation=30)让字进行旋转

plt.savefig('位置/xxx.jpg')

在解释器中,如果想让图片显示出来,可能要先保存图片再.show()才行   

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

二课

np.arrange(10)
np.arage(24).reshap(2,3,4)
np.linspace(0,10,10)
a.astype(np.int16)__改变类型
高纬切片a[0][2][1]常见的是a[0,2,1]
a.T转置,改变原有结构为相反结构

 

 

 

7课   说白了np.array用来创造数组

np.linespace(0,10,100)  产生0-10之间均匀分布的100个数字  不写100的话就50个
 dtype=np.float32  unit8是图片一般0-255 unit16 32 64 无符号整型
a.astype(np.int16)

8课

切片如果改变,原来的数组的值也会改变,因为数据量太大了。占内存。所以用copy方法在内存中搞   .copy()深复制
切片简写a[0][2][1]简写成a[0,2,1]
a[:,2,1]维度全取,第二行,第一个

9课

a[a>10] 里面是布尔,再选数组
a[(a>5)&(a<20)]

10课

标量加最简单,同形加是对应元素相加,相同形状。行相加,列相同行不一,就让那一行给他们轮流发生关系
广播复用一行对应对方两行
a.reshape(2,1)     原来是[0,1] 变成 ([0],[1] )
a.T转置,将2X5变成5X2
np.append(b,[[5,6]],axis=0)添加——————二维也要以二维的形式添加进去

11课

连接用元祖np.concatnate((a,b))由数组组成的元祖进行合并,我理解所谓合并就是将两个数组合并
如果都是一行就合在一起了,
合并还用stack方法np.stack([1,2,3,4],[5,6,7,8])每一个数祖做为元素合并
concatnate 不增加维度,而stack是堆起来
添加是用np.append(a,5) 但是:高围数组用append时如果不指定轴会让其合并,并且展开。需要注意的一点 列添加元素,再看看,值得复习一下也就是加一列
np.append(a,[[5],[6]])   这就是给每行的最后边加上一个值 
np.unique(a) 
 

12课

np.mean(a)   np.sun(a)  a.sun是对象方法
a.mena(axis=1)
第一次讲方差

13课

np.random.randn(10)正态分布的随机数    np.random.rand——————20课讲,0-1的随机数
a=np.sort(a)要先赋值才等于a.sort____顶级方法改变不了原值 
a.reshape(2,5)等价于 a.shape=2.5
np.argsort(a)返回排序后的索引
np.argmax(a)返回最大值 索引
np.where(a>2)___》2的索引   不常用,一般用a[a>2]

 

np.where(cond,a,b)______值 得一记,当cond为True时从a取,false从b取
(a>2).sun()   算出a>2的数量

 

14课

np.random.randn(10)正态分布随机数
np.random.normal(size=(3,4))标准分布随机数_______均值为0方差为1
np.random.randint(1,10,(3,4))最小值 ,最大值 ,3行4列正值    ——————自然数随机数
np.random.permutation(len(a))    乱序 生成一个从0到这个值之音的一个乱序的值 
np.random.choice([1,2,3,4,5,6])  随机选一个数   可以再加一个参数size=2每次取出2个
np.random.seed(5)  np.random.randn(3,4)   前面加上了seed后面再运行就是一样的结果了
 
np.save(11.txt,a)   np.load(全路径)
np.savetxt(11.txt,a)  保存为文本形式   np.loadtxt(11.txt,a)

 

15课 ——————marker,linewidth,color

plt.plot(x,y label='a公司')
plt.legend()显示label的字样————不然没有
plt.plot(x,color='r',linestyle='-.',linewidth=5,marker='^')
plt.xlabel('age')给x加标签
plt.title('student')
plt.xlim___x轴的取值范围
plt.ylim___y轴的取值范围  
x.ticks([0,4,8],['baby','young','adult'])取值标记——————在哪些关键位置设置名字

18课

plt.grid()加网格
plt.style.use('ggplot')
import seaborn直接这样写就是引入了

 19课

plt.bar(x,y,bottom=y)用y做底和别的图对比————有两个图的情况
plt.figure(figsize=(10,10))视始化一张画布  默认会有还给我
直方图plt.hist (data,bins=40)里面的bins是分成多少份 
箱形图的异常值:这个 值+大于上四分位+1.5倍上四分位-下四分位,或:小于下四分位-上四分位-下四分位的1.5倍
线形图plt.scatter()   里面的s= 是管点的大小
 

20课

堆积图(占有率)

plt.stackplot( comp,y1,y2,y3,y4,labels=列表,就显示名字了)      plt.xticks([1,2,3,4],['2011','2012','2013','2014'])加上y轴的名字

 

饼图:plt.pie   

labels=['apple','micro','yahoo','google']
size=[15,30,45,10]

explode=(0.1,0,0,0)
plt.pie(size,labels=labels,autopct="%1.1f%%",explode=explode,startangle=90)

列宽为1,小数点后为1,f为float

 

 

 

22课

plt.subplot

plt.suptitle('')总标题

 

24课

plt.rcParams['font.ans-serif']=['SimHei']

显示中文:plt.rcParams['font.sans-serif']=['SimHei']    显示负号: plt.rcParams['axes.unicode_minus']=False

plt.xticks([],[],rotation=30)让字进行旋转

plt.savefig('位置/xxx.jpg')

在解释器中,如果想让图片显示出来,可能要先保存图片再.show()才行   

posted @ 2024-10-21 16:25  青岛programmer  阅读(22)  评论(0编辑  收藏  举报