pandas與sqlalchemy交互實現科學計算


 
import pandas as pd
import numpy as np
from sqlalchemy import create_engine

#
建立數據庫引擎 engine = create_engine('mysql+pymysql://root:mysql@127.0.0.1:3306/mymac') sql = 'select * from student' #建立dataframe對象 df = pd.read_sql_query(sql,engine) print(df) #按照年齡正序 # select * from student order by age asc |desc df = df.sort_values(['age','height'],ascending=False) print(df) #取年齡最小的學生 # select * from student order by age limit 1 dd = df.sort_values(['age']).head(1) print(dd) #求整個班的平均年齡 使用loc方法指定字段 #select * from student where gender = 0 and age < (select avg(age) from student gender=0) avg_age = df.loc[df['gender'] == 0].age.mean() print(df.loc[(df['age']< avg_age) & (df['gender'] == 0)].head(1)) #全班的平均年齡 print(df.age.mean()) #全班的年齡求和 print(df.age.sum()) #取男生的年齡求和 print(df.loc[df['gender'] == 1].age.sum()) #獲取指定字段 print(df.loc[ df['gender'] == 1,['id','name']]) #取全部年齡最小 min 最大max print(df.age.min()) #或者 | print(df.loc[(df['gender']==0) | (df['gender'] == 1)]) #全班多少人 print(df.id.count()) #排除法 print(df.loc[(df['gender'] != 0) & (df['gender'] != 1)]) #修改操作 df.loc[1,'gender'] = 1 df.loc[4,'age'] = 19 print(df) #取單值 print(df.loc[2,'name']) # 將datafram寫入數據表 表名,數據引擎,數據是否入庫 (不建議使用,因為鍵的表字段類型約束等需調整) # 需安裝openpyxl庫 # df.to_sql('student_copy',engine,index=False) #到出excel文件 # df.to_excel('student.xlsx',index=False)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM