機器學習三劍客之Pandas中DataFrame基本操作
阿新 • • 發佈:2019-03-08
com sys.path int del mean 基於 絕對路徑 and bsp
#將腳本所在得工程添加到環境變量 絕對路徑 sys.path.append(‘c:/Users/王建/www/mymac‘)
#相對路徑 sys.path.append(‘../mymac‘)
#將項目路徑添加到系統搜索路徑 os.environ["DJANGO_SETTINGS_MODULE"] = ‘mymac.settings‘
#導入django模塊 import django
#導入pandsa import numpy as np import pandas as pd
#導入sqlalchemy from sqlalchemy import create_engine
#加載項目配置 django.setup()
#加載數據類 from myapp.models import Student
if __name__ == "__main__":
#加入數據庫引擎 engine = create_engine(‘mysql+pymysql://root:mysql@localhost:3306/mymac‘) #sql語句 sql = ‘ select * from student ‘
#建立數據框架 df = pd.read_sql_query(sql,engine) print(df)
# 按照年齡正序 加ascending=False倒序 # 類似sql語句 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 df = df.sort_values(["age"]) print(df)
# 求整個班級得平均年齡 使用loc方法指定字段 print(df.mean()) print(df.mean(0)) print(df.mean(1)) print(df.loc[df[‘gender‘] == 0].age.mean()) avg_age = df.loc[df[‘gender‘] == 0].age.mean() print(df.loc[ (df[‘age‘] < avg_age) & (df[‘gender‘] == 0) ]) # 取全班得平均年齡 print(df.age.mean()) # 全班年齡求個 print(df.age.sum()) # 獲取男生得年齡求和 print(df.loc[df[‘gender‘]==1].age.sum()) # 取全班年齡最小 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 print(df) df.loc[0,‘age‘] = 10 print(df) # 取單值 print(df.loc[5,‘name‘]) # 獲取指定字段 print(df.loc[df[‘gender‘] == 1 , [‘id‘,‘name‘,‘age‘,‘height‘]])
# 將dataframe寫入數據表 表名,數據引擎 索引是否入庫 df.to_sql(‘student_copy‘,engine,index=False)
# 導出excel文件 # df.to_excel(‘student.xlsx‘)
# print(Student.objects.all()) 參考數據庫表:
Pandas 是基於Numpy 的一種工具,是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。Pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
安裝命令:pip install pandas
具體操作如下:值得註意得是配置環境變量和添加項目路徑要優先於導包 否則系統將檢測不到pandas庫
#導包 import os import sys#將腳本所在得工程添加到環境變量 絕對路徑 sys.path.append(‘c:/Users/王建/www/mymac‘)
#相對路徑 sys.path.append(‘../mymac‘)
#將項目路徑添加到系統搜索路徑 os.environ["DJANGO_SETTINGS_MODULE"] = ‘mymac.settings‘
#導入django模塊 import django
#導入pandsa import numpy as np import pandas as pd
#導入sqlalchemy from sqlalchemy import create_engine
#加載項目配置 django.setup()
#加載數據類 from myapp.models import Student
#加入數據庫引擎 engine = create_engine(‘mysql+pymysql://root:mysql@localhost:3306/mymac‘) #sql語句 sql = ‘ select * from student ‘
#建立數據框架 df = pd.read_sql_query(sql,engine) print(df)
# 按照年齡正序 加ascending=False倒序 # 類似sql語句 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 df = df.sort_values(["age"]) print(df)
# 求整個班級得平均年齡 使用loc方法指定字段 print(df.mean()) print(df.mean(0)) print(df.mean(1)) print(df.loc[df[‘gender‘] == 0].age.mean()) avg_age = df.loc[df[‘gender‘] == 0].age.mean() print(df.loc[ (df[‘age‘] < avg_age) & (df[‘gender‘] == 0) ]) # 取全班得平均年齡 print(df.age.mean()) # 全班年齡求個 print(df.age.sum()) # 獲取男生得年齡求和 print(df.loc[df[‘gender‘]==1].age.sum()) # 取全班年齡最小 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 print(df) df.loc[0,‘age‘] = 10 print(df) # 取單值 print(df.loc[5,‘name‘]) # 獲取指定字段 print(df.loc[df[‘gender‘] == 1 , [‘id‘,‘name‘,‘age‘,‘height‘]])
# 將dataframe寫入數據表 表名,數據引擎 索引是否入庫 df.to_sql(‘student_copy‘,engine,index=False)
# 導出excel文件 # df.to_excel(‘student.xlsx‘)
# print(Student.objects.all()) 參考數據庫表:
機器學習三劍客之Pandas中DataFrame基本操作