pandas的基本操作

2021-10-05 23:52:01 字數 3763 閱讀 9721

資料讀寫

# 讀入mysql資料庫資料

# 匯入第三方模組

import pymysql

# 連線mysql資料庫

conn = pymysql.

connect

(host=

'localhost'

, user=

'root'

, password=

'test'

, database=

'test'

, port=

3306

, charset=

'utf8'

)# 讀取資料

user = pd.

read_sql

('select * from topy'

, conn)

# 關閉連線

conn.

close()

# 資料輸出

user

資料初印象

# 資料讀取

sec_cars = pd.

read_table

(r'c:\users\administrator\desktop\sec_cars.csv'

, sep =

',')

# 預覽資料的前五行

sec_cars.

head()

# 檢視資料的行列數

print

('資料集的行列數:\n'

,sec_cars.shape)

# 檢視資料集每個變數的資料型別

print

('各變數的資料型別:\n'

,sec_cars.dtypes)

# 資料的描述性統計

sec_cars.

describe

()

資料清洗

# 資料讀入

df = pd.

read_excel

(r'c:\users\administrator\desktop\data_test05.xlsx'

)# 缺失觀測的檢測

print

('資料集中是否存在缺失值:\n'

,any

(df.

isnull()

))# 刪除法之記錄刪除

df.dropna()

# 刪除法之變數刪除

df.drop

('age'

, axis =1)

# 替換法之前向替換

df.fillna

(method =

'ffill'

)# 替換法之後向替換

df.fillna

(method =

'bfill'

)# 替換法之常數替換

df.fillna

(value =0)

# 替換法之統計值替換

df.fillna

(value =

)

型別轉換與元素及運算

# 資料讀入

df = pd.

read_excel

(r'c:\users\administrator\desktop\data_test03.xlsx'

)# 將birthday變數轉換為日期型

df.birthday = pd.

to_datetime

(df.birthday, format =

'%y/%m/%d'

)# 將手機號轉換為字串

df.tel = df.tel.

astype

('str'

)# 新增年齡和工齡兩列

df['age'

]= pd.datetime.

today()

.year - df.birthday.dt.year

df['workage'

]= pd.datetime.

today()

.year - df.start_work.dt.year

# 將手機號中間四位隱藏起來

df.tel = df.tel.

(func = lambda x : x.

replace

(x[3:7

],'****'))

# 取出郵箱的網域名稱

df['email_domain'

]= df.email.

(func = lambda x : x.

split

('@')[

1])# 取出人員的專業資訊

df['profession'

]= df.other.str.

findall

('專業:(.*?),'

)# 去除birthday、start_work和other變數

df.drop([

'birthday'

,'start_work'

,'other'

], axis =

1, inplace = true)

資料合併、連線與彙總

# 構造資料集df1和df2

df1 = pd.

dataframe()

df2 = pd.

dataframe()

# 資料集的縱向合併

pd.concat

([df1,df2]

, keys =

['df1'

,'df2'])

# 如果df2資料集中的「姓名變數為name」

df2 = pd.

dataframe()

# 資料集的縱向合併

pd.concat

([df1,df2]

)# 構造資料集

df3 = pd.

dataframe()

df4 = pd.

dataframe()

df5 = pd.

dataframe()

# 三表的資料連線

# 首先df3和df4連線

merge1 = pd.

merge

(left = df3, right = df4, how =

'left'

, left_on=

'id'

, right_on=

'id'

)merge1

# 再將連線結果與df5連線

merge2 = pd.

merge

(left = merge1, right = df5, how =

'left'

)merge2

pandas的基本操作

準備工作 我們需要裝好pandas庫,然後引入它,一般簡寫為pd import pandas as pd1 生成乙個 方法一 pd.dataframe 三個引數,第乙個為填入的值,第二個index為 的行標,第三個columns為 的列標。第二三個引數如果不填則預設從0開始一直排下去。方法一直接使用...

Pandas基本操作

常用技巧 1 讀取檔案 2 初步設定 最大顯示1000行 最大顯示20列 最大精度 3 去重 所有列相同為重複 k1相同為重複,保留最後乙個 預設保留第乙個 4 顯示當前路徑 5 jupyter下畫圖 6 計算運算時間 7 建立新變數 8 刪除乙個變數 9 刪除一行觀測 10 顯示前三行 11 顯示...

pandas基本操作

pd.read csv filename 從csv檔案匯入資料 pd.read excel filename 從excel檔案匯入資料 pd.read sql query,connection object 從sql表 庫匯入資料 pd.read json json string 從json格式的字...