numpy和pandas是python中用于处理数据的两个库。
numpy介绍:
numpy用于处理array,且array中数据类型必须一致。下面以代码备注的方式介绍。
#START
import numpy as np
v=np.array([1,2,3,4,5,6,7,8]) //array中以list的方式展现
m=np.array([[1,2,3,4,5,6,7,8],
[8,7,6,5,4,3,2,1]])
h=np.array([[1,2,3,4,5,6,7,8],
[8,7,6,5,4,3,2,1],
[9,8,7,6,5,4,3,2]],dtype=float) //指定list中数据类型为float
print(v.type) //查看array类型
print(v.shape) //查看array模型
#print(np.shape(v))
print(v.size)
#print(np.size(v))
print(v.dtype)
#END
#START
import numpy as np
##如下是一个三行四列的array
#[1,2,3,4]
#[2,3,4,5]
#[3,4,5,6]
#shape(3,4)
a=np.array([[1,2,3,4],[2,3,4,5],[3,4,5,6]])
b=a[0:2,1:3] //array切分操作,对比list中的cut。修改b的话a也会变更。
h=np.array([[1,2],[3,4],[5,6]])
i=np.array(h[0,1],h[1,1],h[2,0]) //使用index方法脱离关系,即b变化a不变。
i[[0,0]]=888
print(i)
print(h)
c=np.zeros((2,20)) //生成2行20列的0
print(c)
d=np.ones((20,5)) //生成20行5列的1
print(d)
e=np.full((5,7),888) //生成5行7列的888
print(e)
f=np.eye(10) //Identify matrix(I)
print(f)
g=np.random.random((8,19)) //生成随机array
print(g)
#END
#START
j=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
k=np.array([0,2,0,1])
l=j[np.arange(4),k] //j中前4行按照k中的数值提取列中元素
j[np.arange(4),k] += 100 //j中前4行按照k中的数值提取列中元素后再加100,返回j
print(j)
#END
#START
m=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(m)
boolean_array_indexing =(m>5) //按照判断条件将array转换成布尔值
print(boolean_array_indexing)
print(m(m>5))
#END
#START
#array四则运算
x=np.array([[1,2],[3,4]],dtype=np.float64)
y=np.array([[5,6],[7,8]],dtype=np.float64)
print(x+y)
print(np.add(x,y))
print(x-y)
print(np.subtract(x,y))
print(x*y)
print(np.multiply(x,y))
print(x/y)
print(np.divide(x,y))
print(np.sqrt(x))
print(x.dot(y))
print(np.dot(x,y))
i=np.array([3,0])
j=np.array([0,4])
print(i.dot(j))
print(np.dot(i.j))
x=np.array([[1,2],[3,4]])
print(x)
print(np.sum(x))
print(np.sum(x,axis=1))
print(x,T) //变形
#END
#START
x=np,array([[1,2],[3,4],[5,6]])
y=np.array([0,1])
print(x+y) //broadcasting会自动补齐y中缺少元素
#END
#START
x=np,array([[1,2,3],[3,4,6],[5,6,7],[7,8,9]])
print(x[1,0:2])
y=np.array([1,0,1])
z=np.empty_like(x) //生成一个和x格式一致的array
print(z)
for i in range(4):
z[i,:]=x[i,:]+y
#END
pandas介绍:
用于处理.csv文件
import pandas as pd
pd.set_option('display.max_rows',1000) //用于设置展示的行数和列数
pd.set_option('display.max_columns',1000)
user_input_cols=['','','','','',''] //用于自定义每一列的名称
data_frame=pd.read_csv('diabetes.csv',index_col=0,header=None,
name=user_input_cols) //读取文件
print(df.head()) //展示文件的前几行
**********************
#dataframe //数据域
#series //列
df=pd.read_csv('diabetes.csv',index_col=0,header=None,
name=user_input_cols)
print(df['series_name']) //展示列名称
#series相加
print(df.series_name1+df.series_name2)
print(df.series_name1+','+df.series_name2)
new_series=df.series_name1+','+df.series_name2
df['series_name1+series_name2']=new_series
print(df.dtypes)
**********************
#查看数据特征
print(df.describe())
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款