建立一個基於pandas查詢數據框架類的對象
阿新 • • 發佈:2019-03-06
read false name values xls 平均值 module copy student import os
import sys
#導入第三方庫sqlalchemy的數據庫引擎
from sqlalchemy import create_engine
#建立數據庫引擎
engine = create_engine(‘mysql+pymysql://root:123456@localhost:3306/mymac‘)
sql = ‘select id,name,age,gender from student‘
#select * from student order by age asc | desc
df = df.sort_values([‘age‘,‘gender‘],ascending=False)
print("df = df.sort_values([‘age‘,‘gender‘],ascending=False) #指定多字段排序,遵循最左原則,註意:這是矩陣數組操作,不是在數據庫操作,需要重新賦值\n{}".format(df))
#將腳本所在的工程添加到 1、環境變量 # sys.path.append(‘c:/Users/Administrator/www/mymac‘) #絕對路徑 sys.path.append(‘../../mymac‘) #相對路徑 #將項目路徑添加到 2、系統環繞搜尋的路徑 os.environ[‘DJANGO_SETTINGS_MODULE‘] = "mymac.settings"
#導入django模塊 import django
#導入科學計算庫 import pandas as pd import numpy as np
#加載項目配置 django.setup()
#加載django的數據表類,類名的爆紅??問題轉給了df對象,忽略 from myapp.models import Student
obj = Student.objects.all() print("測試繞過route-view導入數據庫,利用腳本py連接django的ORM\n{}".format(obj))
#建立一個基於pandas查詢數據框架類的對象 df = pd.read_sql_query(sql,engine) print("df = pd.read_sql_query(sql,engine) #建立一個基於pandas查詢數據框架類的對象\n{}".format(df))
_df = df.sort_values([‘age‘]).head(1) print("_df = df.sort_values([‘age‘]).head(1) #取年齡最小的學生,從頭部取第一個\n{}".format(_df))
print(‘#所有字段的平均值\n{}‘.format(df.mean())) print(‘#矩陣 按列 求平均值\n{}‘.format(df.mean(0))) print(‘#矩陣 按行 求平均值\n{}‘.format(df.mean(1)))
avg_age = df.loc[df[‘gender‘] == 0].age.mean() print("avg_age = df.loc[df[‘gender‘] == 0].age.mean() #使用 loc[] 方法指定字段---查整個班的女生平均年齡\n{}".format(avg_age))
view = df.loc[(df[‘age‘] < avg_age) & (df[‘gender‘] == 0)] print("view = df.loc[(df[‘age‘] < avg_age) & (df[‘gender‘] == 0)] #查小於平均年齡的女生\n{}".format(view))
data = df.loc[ df[‘gender‘] == 1, [‘id‘,‘name‘]] print("data = df.loc[ df[‘gender‘] == 1, [‘id‘,‘name‘]] #查指定字段的數據\n{}".format(data))
建立一個基於pandas查詢數據框架類的對象