現學現賣之pandas 01資料的載入

2021-10-03 14:27:58 字數 4463 閱讀 3473

numpy 幫我們處理數值型資料,pandas能夠處理多種型別的資料,這裡只寫5種常用的,其它請轉官方文件

1.1.1 read_csv

import pandas as pd 

#讀取csv 常用引數 一般來說我們應該都是直接read吧?

pd.read_csv(filepath_or_buffer,sep,delimiter,delim_whitespace,header,names,index_col,usecols,dtype,skiprows)

引數

注釋filepath_or_buffer

檔案的路徑或者位址,url,或者類似檔案的物件,當是類似檔案物件的時候,我們使用read()方法引用物件。

sep預設的分割符「,」

delimiter

可選擇的分割符,可以自己定義,設定時sep不起作用

delim_whitespace

指定』 』 or '\t』為分割符,預設false,啟用設定為true,設定為true時,delimiter不起作用

header

1、指定行作為列名和資料的開始,沒有列名等同於header=0,如果存在列名,等同於header=none,(這應該是不使用header的效果); 2、引數可以為list,這時選取多行作為列名;3、當skip_blank_lines=true時,預設時ture,header =0 是資料開始的,而不是檔案的第一行。

names

自定義列名,需要設定header=none

index_col

指定那幾列作為行索引,引數可以是列名或者列的序號,當設定index_col=false時,pandas不會選取第一列作為索引,eg: 每行末尾有不合適的分割符(沒動)

usecols

選取使用的列

dtype

載入的資料型別或者每一列的資料型別,需要傳字典。

skiprow

跳過0-當前行

1.1.2 read_table

與read_csv 類似,常用的引數除了sep的預設值不一樣,其他的基本相同,我們可以用read_csv讀取text檔案,這是設定分割符為`\t`即可。
import pandas as pd 

#讀取text 常用引數 pd.read_table(filepath_or_buffer,sep,delimiter,delim_whitespace,header,names,index_col,usecols,dtype)

把excel檔案轉換成dataframe型別

read_excel(io,sheet_name=

0,header=

0,names=

none

,index_col=

none

,use_cols=

none

,dtype=

none

,skip_rows)

#空值這幾個也不是很常用

na_values 、keep_default_na、na_filter

引數

注釋io

檔案的路徑或者位址,url,或者類似檔案的物件,當是類似檔案物件的時候,我們使用read()方法引用物件。

sheet_name

可以是中文名稱,也可以是位置序號

header

選取第幾行做為列名,預設0

names

自定義列名,需要設定header=none

index_col

預設空,傳入列表,會生成聚合索引,索引取決於選擇的列

use_col

選取使用的列,可以是位置序號也可以是列名稱

skiprows

過0-當前行

na_values

預設none,設定把什麼樣的數字轉換成nan

keep_default_na

ture 啟用na_values,none不啟用na_values

na_filter

預設ture,查詢缺失值,在沒有缺失值的檔案中可以關閉,可以加快速度。

pandas.read_json(path_or_buf=

none

, orient=

none

, typ=

'frame'

, dtype=

none

, convert_axes=

none

, convert_dates=

true

, keep_default_dates=

true

, numpy=

false

, precise_float=

false

, date_unit=

none

, encoding=

none

, lines=

false

, chunksize=

none

, compression=

'infer'

)

引數

注釋path_or_buf

json 字串,路徑或者類似檔案的物件,當是類似檔案物件的時候,我們使用read()方法引用物件。

orient

json的型別,我們知道json有多種巢狀方式,如下表所示;當typ= series,可選引數為:,預設是index;當typ = frame,可選引數為:,預設是columns.此時index必須是唯一的。注:0.23.0加入的』table』

typ是轉換成series或者frame,預設是frame

dtype

bool或者dict,預設none, 當為true時,會自行推測資料型別並轉換。為none時,原樣輸入,對於orient=『table』,預設為true,(這裡存有疑問?️,20200315) 注:0.25.0不應用於orient=『table』

convert_axes

嘗試做適當的軸變換,預設none,

convert_dates

bool或者字串列表,預設true.轉換也寫類似時間的列。

keep_default_dates

如果解析時間,解析預設的類似時間的列。

numpy

1.0.0 開始廢棄

precise_float

當把字串型別轉換為數值可以使用高精度。預設:false,採用低精度,提高速度。

date_unit

可以認為是時間精度設定,預設none,可傳入 『s』, 『ms』, 『us』 or 『ns』 設定時間精度。

encoding

字元編碼,預設『utf-8』

lines

bool,預設none,把每一行當作乙個json物件讀入。

chunksize

當line為true是才可傳參,詳見官方。注:0.21.0

compression

實時從硬碟解壓資料。可選引數,預設:『infer』,跟據檔案的字尾名如:gzip, bz2, zip or xz,其他的不解壓。如果使用』zip』,這個壓縮包中要至少含有乙個檔案。設定為:none 不解壓。

orient 樣式

引數型別

split

dict like

records

list like [, … , ]

index

dict like }

columns

dict like }

values

just the values array

read_clipboard是從剪下板獲取資料,預設引數sep=『s+』,表示乙個或多個空格,其它和read_csv一致。

#提取sql結果集或者表

pandas.read_sql(sql, con, index_col=

none

, coerce_float=

true

, params=

none

, parse_dates=

none

, columns=

none

, chunksize=

none

)

引數

型別sql

sql語句或者表名

con資料庫鏈結,用過python連線過其它資料庫應該很好理解。

index_col

預設為空,索引的列名,乙個或者list.

coerce_float

將非字串、非數字物件的值轉換為浮點型

params

這個應該是把引數傳到sql裡面,在寫sql的時候用引數去寫。【存疑】

parse_dates

要轉換成日期的列

columns

設定列名,只有在讀表的時候才能用。

chunksize

返回乙個迭代器,指定每次的行數。

現學現賣之pandas 02資料的選擇

1 series and dataframe series,只是乙個一維資料結構,它由index和value組成。dataframe,是乙個二維結構,除了擁有index和value之 外,還擁有column。數值提取的方法並不唯一,形式也並不固定,這裡列出的也並非全部,有興趣可以繼續探索。2 取值i...

PAT哈利 波特的考試 現學現賣啦

7 2 哈利 波特的考試 25 分 哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過...

批處理使用(小試牛刀現學現賣,嘻)

注 注釋部分不屬於bat的語法 1.呼叫pdf2swf.exe,單個轉換swf,假設命名為aaa.bat echo off c 指定到c盤 cd program files swftools cd c program files swftools pdf2swf c temp 17.pdf o c ...