像使用mysql同樣使用pandas

像使用mysql同樣使用pandas

標籤(空格分隔): mysql pandasmysql


前言

pandas的DataFrame對象本質就是一張表,DataFrame對象中的index對應的就是數據庫表中的id字段,DataFrame對象中的columns對應的就是數據庫表中的一個個字段名稱,這說明pandas的DataFrame對象和數據庫中的表具備不少的類似點,而實際狀況也是這樣,咱們能夠用操做數據庫相似的方法來操做pandas的DataFrame對象,本文將使用類比的方法來講明pandas對象和數據庫的絲絲關聯sql

<hr>數據庫

數據庫的庫操做

  1. 建立數據庫 create database db1 charset utf8;
  2. 查看數據庫
show create database db1;
select database();
  1. 選擇數據庫 use db1;
  2. 刪除數據庫 drop database db1;
  3. 修改數據庫 dlter database db1 charset utf8;

<hr> # 數據庫的表操做fetch

  1. 建立表
字段名1 類型[(寬度) 約束條件],
字段名2 類型[(寬度) 約束條件],
字段名3 類型[(寬度) 約束條件]
);
  1. 查看錶結構: desc t1spa

  2. 複製表 create table new_service select * from service;設計

  3. 刪除表 drop table 表名;code

  4. 修改表對象

一、修改表名
 alter table 表名 rename 新表名;
 二、增長字段
 alter table 表名 add 字段名; 數據類型
 三、刪除字段
 alter table 表名 drop 字段名;
 四、修改字段
 alter table 表名 modify 字段名 數據類型;

<hr>ip

上述部分設計到數據庫的庫操做和表操做,對於pandas數據則沒有這些相應的操做,對數據的操做纔是pandas的DataFrame對象和數據庫的類似之處rem

數據操做:pandas和數據庫的對比

  • 分別在mysql和pandas中建立數據表 mysql中:
create table tips (
     id int primary_key auto_increment,
     total_bill float,
     tip float,
     sex ENUM ('male','female'),
     smoker ENUM('yes','no'),
     day ENUM('mon','tue','wed','thr','fri','sat','sun'),
     time ENUM('breakfast','lunch','dinner'),
     size int;);

DataFrame中:(應用pymysql獲取表格數據,將表格數據放入DataFrame對象中)

import pandas as pd
import pymysql
db = pymysql.connect('localhost','root','','db5')
cursor = db.cursor(pymysql.cursors.DictCursor)
cursor.execute('select * from tips;')
data = cursor.fetchall()
data = [list(dic.values()) for dic in data]
df = pd.DataFrame(data1,columns['id','total_bill','tip','sex','smoker','day','time','size'])
#這樣得到的DataFrame對象會多出一列index,須要將id設爲index
df = df.set_index('id')

表格數據以下所示:

total_bill   tip     sex smoker  day    time  size
id                                                    
1        16.99  1.01  female     no  sun  dinner     2
2        10.34  1.66    male     no  sun  dinner     3
3        21.01  3.50    male     no  sun  dinner     3
4        23.68  3.31    male     no  sun  dinner     3
5        24.59  3.61  female     no  sun  dinner     4
相關文章
相關標籤/搜索