pandas的基礎使用,資料庫連線,檔案讀取,切片的使用等基本操作----01

Turing's Cat發表於2021-01-02

學習目標:

pandas的基礎使用


學習內容:

1、 pandas的讀取資料庫檔案,其他檔案格式等等
2、 將檔案儲存到資料庫中
3、 loc和iloc的切片呼叫表格資料
4、等等…


學習程式碼:

import pandas as pd
from sqlalchemy import create_engine
#一共有兩個資料庫,一個是checksystem(帶有student表)一個是testdb(帶有meal_order_detail1表)
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/testdb?charset=utf8')
#engine = create_engine('mysql+pymysql://root:123456@localhost:3306/checksystem?charset=utf8')
# print(engine)
# #讀取資料庫中的表
# formlist = pd.read_sql_query('show tables',con=engine)
# print('checksystem的資料表清單:\n',formlist)
# #讀取資料庫中表的資料
# detail = pd.read_sql_table('student',con=engine)
# print('student的表資料為:\n',detail)
# #讀取表詳情
# detail2 = pd.read_sql_query('select * from student',con=engine)
# print('讀取的表為:\n',detail2)
# #表資料個數
# print('student表資料個數:',len(detail2))
# #將表資料寫入資料庫用to_sql,寫入資料庫只有一個方法,讀取資料庫的資料有三個方法。
# detail2.to_sql('new_table2',con=engine,if_exists='replace')
# #展示資料庫中的表
# formlist2 = pd.read_sql_query('show tables',con=engine)
# print('checksystem的資料表清單:\n',formlist2)
# #同理讀取.csv/.jason/.excel等不同的檔案都一樣

#DataFrame的常見操作,以資料庫中的stduent表為例操作
read_table_student = pd.read_sql_table('meal_order_detail1',con=engine)
# print(read_table_student) #列印出整個table,一共有7行資料,4列
# #DataFrame的常用屬性values,index,columns,dtypes,分別獲取元素,索引,列名,型別
# print('索引:',read_table_student.index)  #索引,即使行序列號0-6(一共7行)
# print('table的所有資料:',read_table_student.values) #列印的資料,二維陣列
# print('列印表的列:',read_table_student.columns)
# print('資料表的資料型別:\n',read_table_student.dtypes)
#
# #DataFram的其他屬性.size/.ndim/.shape分別獲取元素的個數,維度,資料形狀
# print('資料表的元素個數:\n',read_table_student.size)
# print('資料表的維度:\n',read_table_student.ndim)
# print('資料表的形狀:\n',read_table_student.shape)
#.T屬性進行轉置
#print('資料表的轉置:\n',read_table_student.T)
#檢視DataFrame中的資料方式
#檢視DataFram的某一列
# print(read_table_student.name) #另一種寫法print(read_table_student['name'])
#檢視單行一列
# print(read_table_student['name'][:5])
#檢視多行多列資料,先列後行
# print(read_table_student[['name','id']][0:3])
#DataFrame的.head/.tail屬性可以訪問前n行或者後n行資料,形參表示訪問多少行,預設引數是5行
# print(read_table_student.head(2))  #訪問前兩行資料
# print(read_table_student.tail(2))  #訪問後兩行資料

#DataFram中的loc和iloc實現的花式切片訪問,
#print(read_table_student[2:6,['name','id']])
#iloc和loc的條件切片
#loc的條件切片
print(read_table_student.loc[read_table_student['order_id']=='458',['order_id','dishes_name']])
#iloc的條件切片
print(read_table_student.iloc[(read_table_student['order_id']=='458').values,[1,5]])

相關文章