names将所有的資料整合到單個DataFrame中
- concat預設将多個DataFrame整合到一起
- ignore_index=True, 因為我們不希望保留read_csv所傳回的原始行号
可以得到結果集為:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM0kzMxMTM0EjNwETM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
注意index的id,若不加ignore_index,則得到的結果集是
看出差別了吧。
利用groupby和pivot_table在sex和year級别上對其進行聚合了
作圖
下面我們要統計百分比,再來看下原始的names:
接着groupby year
year
1880 201486
1881 192703
1882 221538
1883 216954
1884 243466
Name: births, dtype: int64
現在想男女分開看:
year sex
1880 F 90993
M 110493
1881 F 91955
M 100748
1882 F 107851
下面來計算比例,并增加一列。astype的作用是類型轉換。
之後可以進行完整性認證,比如prop的和是否為1
傳回TRUE
現在我想取一個子集,比如year,sex groupby的頭1000個
男女的各自統計
制作透視表:
1880 9701.0
1881 8795.0
1882 9597.0
1883 8934.0
1884 9427.0
1885 8801.0
1886 9074.0
1887 8165.0
1888 9300.0
現在檢視這最熱的1000個名字所占全部名字的比例
cumsum是計算累計和
261874 0.842953
261875 0.843055
261876 0.843156
Name: prop, dtype: float64
array([116], dtype=int64),即最終結果是117
1880 F [38]
M [14]
1881 F [38]
1882 F [38]
M [15]
1883 F [39]