利用python做資料分析 五 讀取合併多個檔案

2021-09-22 10:48:25 字數 4139 閱讀 6220

pieces=[

]columns=['name','***','births']

for year in range(1880,2011):

path=('c:\\users\\ecaoyng\\desktop\\work space\\python\\py_for_analysis\\pydata-book-master\\ch02\\names\\yob%d.txt' % year)

frame=pd.read_csv(path,names=columns)

frame['year']=year

names=pd.concat(pieces,ignore_index=true)

names

names將所有的資料整合到單個dataframe中

- concat預設將多個dataframe整合到一起

- ignore_index=true, 因為我們不希望保留read_csv所返回的原始行號

可以得到結果集為:

注意index的id,若不加ignore_index,則得到的結果集是

看出區別了吧。

利用groupby和pivot_table在***和year級別上對其進行聚合了

作圖year')

下面我們要統計百分比,再來看下原始的names:

接著groupby year

names

.groupby(['year']).births

.sum()[:5]

year

1880 201486

1881 192703

1882 221538

1883 216954

1884 243466

name: births, dtype: int64

現在想男女分開看:

names.groupby(['year','***']).births.sum()[:5]
year ***

1880 f 90993

m 110493

1881 f 91955

m 100748

1882 f 107851

下面來計算比例,並增加一列。astype的作用是型別轉換。

之後可以進行完整性認證,比如prop的和是否為1

np.allclose(names.groupby(['year','***']).prop.sum(),1)
返回true

現在我想取乙個子集,比如year,*** groupby的頭1000個

男女的各自統計

boys=top1000[top1000.***=='m']

girls=top1000[top1000.***=='m']

製作透視表:

現在檢視這最熱的1000個名字所佔全部名字的比例

cumsum是計算累計和

261874 0.842953

261875 0.843055

261876 0.843156

name: prop, dtype: float64

prop_cumsum.searchsorted(0.5)
array([116], dtype=int64),即最終結果是117

def

get_quantile_count

(group, q=0.5):

group=group.sort_index(by='prop',ascending=false)

return group.prop.cumsum().searchsorted(q)+1

diversity

year ***

1880 f [38]

m [14]

1881 f [38]

m [14]

1882 f [38]

m [15]

1883 f [39]

m [15]

diversity.unstack('***')

利用python做資料分析

3.2 資料分析的目的 主要就是為了在複雜 龐大的資料庫中提取對我們有用的資訊。讓這些資料產生一定的價值,幫助人們在日常生活中做一些決策時做一些參考。比如,在 中買東西,我們會首先看到物品的銷量 排行 以及顧客對物品的評價。這些都是經過資料分析得出來的。可見,資料分析在其中扮演著多麼重要的角色。3....

利用python做資料分析 五 讀取合併多個檔案

pieces columns name births for year in range 1880,2011 path c users ecaoyng desktop work space python py for analysis pydata book master ch02 names yo...

《利用Python做資料分析》學習筆記(一 二)

這一章主要介紹了一些和資料分析相關的重要python庫,包括numpy pandas和matplotlib,然後有編譯環境ipython。之後講了一些準備工作,包括epd 現在更新為了enthought canopy 的安裝 pandas的安裝。都是一些準備工作,比較簡單。第二章 引言 之前學習 l...