numpy基本操作
import numpy as np
def test(n):
l1=[i**2 for i in range(n)]
l2=[i**3 for i in range(n)]
l3=[]
for i in range(n):
l3.append(l1[i]+l2[i])
return l3
print(test(10))
def test1(n):
n1=np.arange(n)**2
n2=np.arange(n)**3
n3=n1+n2
return n3
print(test1(10))
np.arange(10)
np.arange(2,20,3)
np.zeros(10)
np.zeros(10,dtype=int)
np.zeros(shape=(3,5)) #浮点数
np.zeros(shape=(3,5),dtype=int)
np.ones(10)
np.ones(shape=(3,5),dtype=int)
np.full(10,99) #指定数字
np.full((3,5),99)
#等差数列
np.linspace(0,20,10) #0到20之间生成10个数,之前差是一致的
#随机数
np.random.randint(0,10)
np.random.randint(0,10,size=(5,4))
np.random.seed(99) #固定生成的随机数,随机数种子,数字任意
np.random.randint(0,10,5)
np.random.random() #0到1的浮点数
np.random.random((3,5))
A=np.ones(shape=(3,5))
A.ndim #维度
A.shape #形状
A.size #一共的元素值
a=np.arange(10)
X=a.reshape(2,5)
X=a.reshape(2,-1)
X=a.reshape(-1,2)
X=np.arange(15).reshape(3,5)
print(X[0])
print(X[-1])
print(X[0,1])
a=np.arange(10)
print(a[0:5])
print(a[:5])
print(a[5:])
print(a[0:8:2])
print(a[::2])
print(a[::-1])
x=np.arange(15).reshape(3,5)
print(x[0:2,0:3])
print(x[:2,:3])
x[:2][:3] #是错的,不要使用
print(x[:2,::2])
print(x[::-1,::-1])
print(x.T) #转置
#矩阵的合并
x1=np.array([[22,126],
[18,187]])
x2=np.array([[0],
[1]])
# 0行合并,1列合并,默认为0
x=np.concatenate([x1,x2],axis=1)
print(x)
#聚合操作
x=np.arange(15).reshape(3,5)
np.sum(x)
np.max(x)
np.mean(x)
pandas基本操作
import pandas as pd
import numpy as np
pd.__version__
ser=pd.Series(['张三','李四','王五'])
print(ser)
ser=pd.Series(['张三','李四','王五'],index=list(range(1,4)))
print(ser)
print(ser[2])
ind=[1,3]
print(ser[ind])
print(ser.values)
ser2=pd.Series([18,19,17],index=range(1,4))
print(ser2)
print(ser2+1)
print(ser2[ser2%2==0]) #年龄位偶数的
data={"beijing":9240,"shanghai":8960,"guangzhou":7400}
ser3=pd.Series(data) #键要保证唯一,字典初始化
print(ser3)
print(ser3['beijing'])
print("beijing" in ser3)
print(ser3.to_dict())
print(ser3.to_list())
print(ser3.to_json())
print(ser3.to_frame()) #表 frame
#Dataframe
data=np.arange(100,109).reshape(3,-1)
print(data)
df=pd.DataFrame(data)
print(df)
data={
"name":["Jack","mary","lily"],
"age":[19,19,18],
"height":[1.68,1.37,1.62]
}
df=pd.DataFrame(data)
print(df)
print(df.columns)
df=pd.DataFrame(data,
columns=["username","age","height","email"])
df=pd.DataFrame(data,
columns=["name","age","height","email"],
index=range(1,4))
df.rename(columns={'name':'username'},inplace=True) #修改列名
print(df)
data={
"name":["张三","李四","王五","赵六"],
"age":[19,19,18,20],
"height":[1.68,1.37,1.62,189]
}
df=pd.DataFrame(data,
columns=["name","age","height"])
print(df['name'])
print(df[['name']]) #升级为dataframe表
print(df[['name','age']])
names=df["name"] # 修改影响主表
#names[0]="Jack"
names=df.name.copy() #不会影响主表
print(names)
#切片形式
print(df.columns)
print(df.columns[1:3])
print(df[df.columns[1:3]])
import datetime
#添加一列
df['year']=datetime.datetime.now().year-df.age
print(df)
df.drop('year',axis=1)
print(df.drop(['year','height'],axis=1))
print(df.drop(df.columns[1::2],axis=1))
#取行
print(df.loc[1])
print(df.loc[[1]])
print(df.loc[[1,3]])
#不知道索引值,求最后两个数据的name,age
df.index
df.index[-2:]
print(df.loc[df.index[-2:]])
print(df.loc[df.index[-2:],['name','age']])
#在最后一行插入数据
print(df.shape)
df.loc[df.shape[0]]={'name':'五七','age':21,'height':1.66,'year':0}
print(df)
df2=df.drop(2)
print(df2)
df2.index=range(df2.shape[0]) #表示所有的行数shape[0]
print(df2) #索引重置
#取物理索引
df2.iloc[2] #不会因为定义的索引改变而改变,底层物理顺序
df2.loc[[2],'height']=1.89
print(df2)
df2.index=list("ABCD")
print(df2)
print(df2.iloc[1:3])
print(df.iat[1,1])
df2.iat[1,1]=26
df2.iat[1,2]=88
print(df2)
#使用比较运算筛选数据
df2['height']>=1.68
#取身高大于1.65的数据行
print(df2[df2['height']>=1.68])
print(df2[(df2['height']>=1.68) & (df2['age']=1.65 and age
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?