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']<=20)]) print(df) #查询方法 print(df.query(' height >=1.65 and age<=20 ')) print(df.query("height >=1.65 and age<=20 or name=='五七' ")) age=20 df.query('age<@age') #指定的age print(df['age'].isin([18,19])) print(df[df['age'].isin([18,19])]) df.T #转置 # pandas导入数据 t1=pd.read_table('./11/01.txt') print(t1) t2=pd.read_table('./11/02.txt') print(t2) #列分割通过tab键 t3=pd.read_table('./11/03.txt', sep=':', #以冒号位分隔符 header=None, #将第一行作为数据处理 names=['name','pwd','uid','gid','local','home','shell'] #为每列数据命名 ) print(t3) #csv格式 (兼容性强) t4=pd.read_csv('./11/04.csv') print(t4) #excel 要pip install xlrd t5=pd.read_excel('./11/05.xlsx') print(t5) # html格式 安装xlml t6=pd.read_html('./11/06.html', header=0 #把头设置为第0行 ) print(t6[0]) #第一张表 print(t6[1]) #第二章表 t6=pd.read_html('./11/06.html', header=0, #把头设置为第0行 attrs= {'class':'mydata'} #选定的表 ) print(t6)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)