pandas DataFrame(3)-軸
阿新 • • 發佈:2018-07-29
概念 二維 每天 afr lan and das pos 每一個
和numpy數組(5)-二維數組的軸一樣,pandas DataFrame也有軸的概念,決定了方法是對行應用還是對列應用:
以下面這個數據為例說明:
這個數據是5個車站10天內的客流數據:
ridership_df = pd.DataFrame( data=[[ 0, 0, 2, 5, 0], [1478, 3877, 3674, 2328, 2539], [1613, 4088, 3991, 6461, 2691], [1560, 3392, 3826, 4787, 2613], [1608, 4802, 3932, 4477, 2705], [1576, 3933, 3909, 4979, 2685], [ 95, 229, 255, 496, 201], [ 2, 0, 1, 27, 0], [1438, 3785, 3589, 4174, 2215], [1342, 4043, 4009, 4665, 3033]], index=[‘05-01-11‘, ‘05-02-11‘, ‘05-03-11‘, ‘05-04-11‘, ‘05-05-11‘, ‘05-06-11‘, ‘05-07-11‘, ‘05-08-11‘, ‘05-09-11‘, ‘05-10-11‘], columns=[‘R003‘, ‘R004‘, ‘R005‘, ‘R006‘, ‘R007‘] )
R003 R004 R005 R006 R007 05-01-11 0 0 2 5 0 05-02-11 1478 3877 3674 2328 2539 05-03-11 1613 4088 3991 6461 2691 05-04-11 1560 3392 3826 4787 2613 05-05-11 1608 4802 3932 4477 2705 05-06-11 1576 3933 3909 4979 2685 05-07-11 95 229 255 496 201 05-08-11 2 0 1 27 005-09-11 1438 3785 3589 4174 2215 05-10-11 1342 4043 4009 4665 3033
這個數據裏,行表示每一天裏各個站的客流,列表示每一個站裏各天的客流
如果要計算每天各個站的平均客流:
print(ridership_df.mean(axis=1))
or:
print(ridership_df.mean(axis=‘columns‘))
05-01-11 1.4
05-02-11 2779.2
05-03-11 3768.8
05-04-11 3235.6
05-05-11 3504.8
05-06-11 3416.4
05-07-11 255.2
05-08-11 6.0
05-09-11 3040.2
05-10-11 3418.4
dtype: float64
如果要計算每個站各天的平均客流:
print(ridership_df.mean(axis=0)) or: print(ridership_df.mean(axis=‘index‘))
R003 1071.2 R004 2814.9 R005 2718.8 R006 3239.9 R007 1868.2 dtype: float64
*總結:
axis=0或者axis=‘index‘,計算列
axis=1或者axis=‘columns‘,計算行
pandas DataFrame(3)-軸