1. 程式人生 > >Pandas Cheat Sheet學習筆記

Pandas Cheat Sheet學習筆記

Pandas 作為python的庫,包含易於使用的資料結構,是一個強大資料分析的工具。

Pandas資料結構

Pandas的主要資料結構有Series和DataFrame。Series是一種類似於一維陣列的物件,它由一組資料以及一組與之相關的一組標籤組成。DataFrame是一個表格型資料結構,它含有一組有序的列,每列可以是不同的值型別。

Pandas的I/O操作

1.從csv檔案中讀寫資料。

>>> df = pd.read_csv('file.csv', header=None, nrows=5)
>>> df.to_csv('myDataFrame.csv')

2.從Excel檔案中讀寫資料。
>>> pd.read_excel('file.xlsx')
>>> pd.to_excel('dir/myDataFrame.xlsx', sheet_name='Sheet1')

Pandas選擇資料
>>> df.at([0], ['Country']) 

1. 獲得資料

>>> s['b'] Get one element
>>> df[1:] Get subset of a DataFrame

2. 通過位置或者標籤獲取資料
df.iloc([0],[0]) 位置
df.iat([0],[0]) 位置
>>> df.loc([0], ['Country']) 標籤
>>> df.at([0], ['Country']) 標籤

3. ix可以自動地通過位置或標籤獲取資料
>>> df.ix[2] Select single row of
Country Brazil subset of rows
Capital Brasília
Population 207847528
>>> df.ix[:,'Capital'] Select a single column of
0 Brussels subset of columns
1 New Delhi
2 Brasília
>>> df.ix[1,'Capital'] Select rows and columns
'New Delhi'

4. 布林運算獲取資料
>> s[~(s > 1)] Series s where value is not >1
>>> s[(s < -1) | (s > 2)] s  where value is <-1 or >2
>>> df[df['Population']>1200000000]  Use filter to adjust DataFrame

5. 資料設定
>>> s['a'] = 6 

pandas的Drop操作去除資料
>>> s.drop(['a', 'c']) Drop values from rows (axis=0)
>>> df.drop('Country', axis=1) Drop values from columns(axis=1)

pandas的排序功能
>>> df.sort_index() Sort by labels along an axis
>>> df.sort_values(by='Country') Sort by the values along an axis
>>> df.rank() Assign ranks to entries

獲取pandas中Series和DataFrame 資訊
>>> df.shape (rows,columns)
>>> df.index  Describe index 
>>> df.columns Describe DataFrame columns
>>> df.info() Info on DataFrame
>>> df.count() Number of non-NA values

pandas中的運算功能
>>> df.sum() Sum of values
>>> df.cumsum() Cummulative sum of values
>>> df.min()/df.max() Minimum/maximum values
>>> df.idxmin()/df.idxmax() Minimum/Maximum index value
>>> df.describe() Summary statistics
>>> df.mean() Mean of values
>>> df.median() Median of values

pandas使用的應用函式
>>> f = lambda x: x*2
>>> df.apply(f) Apply function
>>> df.applymap(f) Apply function element-wise

pandas資料結構之間的運算
>>> s3 = pd.Series([7, -2, 3], index=['a', 'c', 'd'])
>>> s + s3
a 10.0
b NaN
c 5.0
d 7.0

pandas資料結構之間的運算加上填充值
>>> s.add(s3, fill_value=0)
a 10.0
b -5.0
c 5.0
d 7.0
>>> s.sub(s3, fill_value=2)
>>> s.div(s3, fill_value=4)
>>> s.mul(s3, fill_value=3)

參考:http://www.kdnuggets.com/2017/01/pandas-cheat-sheet.html