python中numpy和pandas介

2023-01-31 02:01:06 python numpy pandas

numpy和pandaspython中用于处理数据的两个库。
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())

相关文章