美文网首页
python读取文件常见问题2(Mac版)

python读取文件常见问题2(Mac版)

作者: sherryup | 来源:发表于2018-03-18 22:44 被阅读538次

    能正常读取外部数据表后我们开始做分析,用惯了Excel数据透视表的我即使用python也希望能pivot table一番。
    首先我抓取到的数据字段大概是这样的:

    Index(['行政区', 'pianqu', '片区', '小区', '格局', '面积', '楼层', '建成年代', '建成年', '楼体结构', '成交时间', '成交年', '成交月', '成交金额', '平米价', '朝向', '装修', '有无电梯'],dtype='object')
    

    具体是

    行政区    pianqu   片区       小区    格局      面积         楼层        建成年代   建成年  \
    0  朝阳  dawanglu  大望路     后现代城  2室1厅  107.93  低楼层(共18层)  2004年建板塔结合  2004   
    1  朝阳  dawanglu  大望路  珠江帝景伯爵山  2室1厅   90.19   顶层(共16层)    2008年建板楼  2008   
    2  朝阳  dawanglu  大望路     易构空间  2室1厅   68.79  高楼层(共28层)    2004年建塔楼  2004   
    
       楼体结构       成交时间   成交年  成交月  成交金额   平米价   朝向  装修 有无电梯  
    0  板塔结合  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  东北   精装  有电梯  
    

    想看看各个户型在各个行政区的均价:

    mean_qprice=data_file.pivot_table(values='平米价',index='行政区',columns='格局',aggfunc='mean') 
    print (mean_qprice)
    

    结果报错:“No numeric types to aggregate”
    这就涉及到数据类型(文本、数值、日期……)
    如何得知各个字段的类型?

    data_file.dtypes
    
    行政区        object
    pianqu     object
    片区         object
    小区         object
    格局         object
    面积        float64
    楼层         object
    建成年代       object
    建成年        object
    楼体结构       object
    成交时间       object
    成交年         int64
    成交月         int64
    成交金额        int64
    平米价       object
    朝向         object
    装修         object
    有无电梯       object
    dtype: object
    

    “平米价”的数据类型居然是object,不是数值当然无法计算,需要更改数据类型:

    data_file['平米价'].astype(float)
    

    再次检查数据类型:

    data_file['平米价'].dtypes
    

    output:

    dtype('float64')
    

    这就好了,再次执行pivot就好了,试试看~
    (没有展示我的结果,因为源数据存在无效数据,还没会处理,基本方案是用均值替换,且看下回分解)

    相关文章

      网友评论

          本文标题:python读取文件常见问题2(Mac版)

          本文链接:https://www.haomeiwen.com/subject/ymqeqftx.html