前文已經說過如何去通過基礎python處理csv檔案的行,一系列的問題python pandas模組:本篇博文重點為利用pandas模組去較為簡單地處理這些複雜的問題
**:
import pandas as pd
input_file="supplier_data.csv"
out_file="the_first_csv.csv"
date_frame=pd.read_csv(input_file)#frame:框架,架構
#print(date_frame)
date_frame.to_csv(out_file,index=false)#index=false 表示輸出不顯示索引值
**比起使用基礎python來說非常的簡短,當然也需要去記憶一些新的函式。這些對於使用pandas來說都是必要的。
兩個函式;
pandas.read_csv():這個函式可以返回參量csv檔案的資料框。
資料框:用於儲存多行多列資料的一種結構pandas.to_csv():一般用法的話就是 :pandas.to_csv(write_object,index=false) 其中,前參量是寫入檔案
後參量的意思是 不顯示索引,如果我們現實索引的話,在我們寫入檔案的第一列往往會多出一行0,1,2…如圖:
**的意思很簡潔,就是把第乙個檔案中的資料框取出來,放到第二個檔案裡面,這樣理解就夠了
我們使用基礎python必須把他們一系列的列表提取出來,進行判斷與操作
而pandas則更為方便
利用pandas模組,使行中的值屬於某個集合
**
import pandas as pd
date_list=['1/30/14','1/20/14']
input_file="supplier_data.csv"
out_file="the_first_csv.csv"
script_frame=pd.read_csv(input_file)
date_frame=script_frame.loc[script_frame['purchase date'].isin(date_list),:]#isin()函式
date_frame.to_csv(out_file,index=false)
前五行不做詳解,重點在第六行:
loc()函式與isin()函式
loc()函式 pandas模組的loc函式,可以實現對行和列的一系列操作loc()函式的兩個參量loc(1,2)參量1表示對行的操作,而參量2表示對列的操作。我們這裡需要引用名為:"purchase date"的這一列的變數,我麼使用類似於字典鍵的方式去引用。這樣可以引用,其實是這麼乙個結構,如圖:
可以看到,每乙個資料前都有索引的存在,這也順便清楚了前面的index=fasle存在的疑惑
isin函式:其實就是判斷這裡面的每一行資料是否存在於這個列表中。
而一旦存在的話,便利用loc函式將這樣乙個資料框提取出來。
2. 利用pandas模組判斷,行中的值匹配某個模式或者正規表示式
**:
#利用pandas模組 loc()函式 使行中的值匹配某個模式或者正規表示式
import pandas as pa
input_file="supplier_data.csv"
out_file="the_first_csv.csv"
script_frame=pd.read_csv(input_file)#從csv檔案中讀出資料框結構
date_frame=script_frame.loc[script_frame['invoice number'].str.startswith("001-"),:]
date_frame.to_csv(out_file,index=false)
#starswith與endswith
#三個參量((strs),start,end) start與end是索引,用於判斷位置
那麼這裡的第五行又出現了新花樣:
date_frame=script_frame.loc[script_frame[『invoice number』].str.startswith(「001-」),:]
前面的不做詳解。重點在這一行。我們這裡的標題是,使行中的值可以匹配某種模式或者正規表示式。這裡是 模式,這裡我的目的是,提取出"invoice number"中前三個字元符合"001-"的格式。依然使用loc函式,但是後面我們使用了.str.startswith的格式
詳解及拓展:str.startswith()是用於檢測字串是否以指定的字首開始
str.startswith(substr, beg=0,end=len(string));
*str:判斷的字串
*substr:用於檢測的子字串
*beg:開始的索引位置
*end:結束的位置
endwith函式
str.endwith(substr,start,end)
*str:同上
*****都同上
python基礎分析 資料分析 Python基礎
學python前要明確其使用目的。學python是為了進行資料分析,所以現階段最主要的任務是了解python的最基礎知識,然後通過運用python進行資料分析的專案,從而學會使用python。一 資料型別 1 整數 浮點數 字串 2 列表 list 2list.count obj 統計某個元素在列表...
python資料分析 numpy基礎(一)
1 建立numpy陣列 import numpy as np print 使用普通一維陣列生成numpy一維陣列 data 6,7.5,8,0,1 arr np.array data print arr print 列印元素型別 print arr.dtype print print 使用普通二維陣...
Python資料分析基礎入門(一)
1 基本運算 多重賦值 a,b,c 2,3,4相當於 a 2 b 3 c 4字串操作 s i like python s very much 將s以空格分割,得到列表 i like python very much s.split 2 判斷與迴圈 判斷語句 python用縮排對齊作為語句層次的標記,...