能正常讀取外部數(shù)據(jù)表后我們開始做分析魄咕,用慣了Excel數(shù)據(jù)透視表的我即使用python也希望能pivot table一番。
首先我抓取到的數(shù)據(jù)字段大概是這樣的:
Index(['行政區(qū)', 'pianqu', '片區(qū)', '小區(qū)', '格局', '面積', '樓層', '建成年代', '建成年', '樓體結(jié)構(gòu)', '成交時間', '成交年', '成交月', '成交金額', '平米價', '朝向', '裝修', '有無電梯'],dtype='object')
具體是
行政區(qū) pianqu 片區(qū) 小區(qū) 格局 面積 樓層 建成年代 建成年 \
0 朝陽 dawanglu 大望路 后現(xiàn)代城 2室1廳 107.93 低樓層(共18層) 2004年建板塔結(jié)合 2004
1 朝陽 dawanglu 大望路 珠江帝景伯爵山 2室1廳 90.19 頂層(共16層) 2008年建板樓 2008
2 朝陽 dawanglu 大望路 易構(gòu)空間 2室1廳 68.79 高樓層(共28層) 2004年建塔樓 2004
樓體結(jié)構(gòu) 成交時間 成交年 成交月 成交金額 平米價 朝向 裝修 有無電梯
0 板塔結(jié)合 2018/1/11 2018 1 660 6.12 東南 精裝 有電梯
1 板樓 2018/1/11 2018 1 790 8.76 南 精裝 有電梯
2 塔樓 2018/1/8 2018 1 470 6.83 東北 精裝 有電梯
想看看各個戶型在各個行政區(qū)的均價:
mean_qprice=data_file.pivot_table(values='平米價',index='行政區(qū)',columns='格局',aggfunc='mean')
print (mean_qprice)
結(jié)果報錯:“No numeric types to aggregate”
這就涉及到數(shù)據(jù)類型(文本岂却、數(shù)值润脸、日期……)
如何得知各個字段的類型沿猜?
data_file.dtypes
行政區(qū) object
pianqu object
片區(qū) object
小區(qū) object
格局 object
面積 float64
樓層 object
建成年代 object
建成年 object
樓體結(jié)構(gòu) object
成交時間 object
成交年 int64
成交月 int64
成交金額 int64
平米價 object
朝向 object
裝修 object
有無電梯 object
dtype: object
“平米價”的數(shù)據(jù)類型居然是object,不是數(shù)值當(dāng)然無法計算,需要更改數(shù)據(jù)類型:
data_file['平米價'].astype(float)
再次檢查數(shù)據(jù)類型:
data_file['平米價'].dtypes
output:
dtype('float64')
這就好了,再次執(zhí)行pivot就好了蛛枚,試試看~
(沒有展示我的結(jié)果,因為源數(shù)據(jù)存在無效數(shù)據(jù)脸哀,還沒會處理,基本方案是用均值替換扭吁,且看下回分解)