您当前的位置: 首页 >  numpy

钟钟终

暂无认证

  • 5浏览

    0关注

    233博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

numpy,pandas基本操作 (未完)

钟钟终 发布时间:2021-11-24 21:16:54 ,浏览量:5

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            
关注
打赏
1664378814
查看更多评论
0.3174s