zoukankan      html  css  js  c++  java
  • 房价预测 Task2-4

    房价预测 Task2-4

    Task 1 的文章:点这里

    Task 2

    计算每个agent的平均Y_area

    pandas提供了.mean()函数,求解行/列的均值。所以我们需要构造符合要求的数据帧。

    df_2= df[['AgentId', 'Y house price of unit area']]
    mean = []   # (1)
    for i in range(6):
        mean.append(df_2[df_2['AgentId'] == i]['Y house price of unit area'].mean())    # (2)
    

    (1)这里要先定义一个空的list。定义方法有两种:mean = []mean = list()

    (2)使用了“Task 1”最后说到的分割。这种分割方法真的很高效,推荐使用。

    这里往列表里添加元素,使用了list.append()的方法。你可能会想,mean[i]=...的方式可以吗?

    这是不可以的。会有一个list out of range的错。

    当然最后也要求了降序排列,方法和以前也是一致的。

    Task 3

    计算(1)每年;(2)每个agency每年 的平均Y_area。这是两问。

    第(1)问需要对年进行筛选;如果在'Task 1'做了agency的表格,那么这一个任务的第(2)问就会很简单。

    总而言之,思路就是裁剪数据表,使用内置.mean()函数计算均值

    计算每个agency每年的均值

    df_3 = df[['AgentId','X1 transaction date','Y house price of unit area']]
    
    # seperate each Agency
    df_3_a0 = df_3[(df_3['AgentId']==0)]
    df_3_a1 = df_3[(df_3['AgentId']==2) | (df_3['AgentId']==3) | (df_3['AgentId']==5)]  # (1)
    df_3_a2 = df_3[(df_3['AgentId']==1) | (df_3['AgentId']==4)]
    
    # calculate mean result
    mean_a0_2012=round(df_3_a0[df_3_a0['X1 transaction date']<2013]['Y house price of unit area'].mean(),1) # (2)
    mean_a0_2013=round(df_3_a0[df_3_a0['X1 transaction date']>=2013]['Y house price of unit area'].mean(),1)
    
    mean_a1_2012=round(df_3_a1[df_3_a1['X1 transaction date']<2013]['Y house price of unit area'].mean(),1)
    mean_a1_2013=round(df_3_a1[df_3_a1['X1 transaction date']>=2013]['Y house price of unit area'].mean(),1)
    
    mean_a2_2012=round(df_3_a2[df_3_a2['X1 transaction date']<2013]['Y house price of unit area'].mean(),1)
    mean_a2_2013=round(df_3_a2[df_3_a2['X1 transaction date']>=2013]['Y house price of unit area'].mean(),1)
    

    (1)裁剪数据表时,如果遇到多个条件的书写格式是什么?

    首先,每个条件都要用()不能省略;其次,在pandas中,使用andor会报错,必须替换成| &

    (2)这里使用.mean()来计算均值,使用round(x, 1)进行保留一位小数的四舍五入。

    计算每年的均值

    算法和上面是一致的。

    # Year mean
    mean_2012=round(df_3[df_3['X1 transaction date']<2013]['Y house price of unit area'].mean(), 1)
    mean_2013=round(df_3[df_3['X1 transaction date']>=2013]['Y house price of unit area'].mean(), 1)
    

    Task 4

    做出'Task 3'的图形。我们做出柱状图。

    res_3.plot(kind='bar', alpha=0.7)
    
  • 相关阅读:
    Vue2.5开发去哪儿网App 城市列表开发之 Vuex实现数据共享及高级使用
    Vue2.5开发去哪儿网App 搜索功能完成
    Vue2.5开发去哪儿网App 城市列表开发之 兄弟组件间联动及列表性能优化
    Vue2.5开发去哪儿网App 城市列表开发
    Vue2.5开发去哪儿网App 首页开发
    Vue2.5开发去哪儿网App 第五章笔记 下
    Vue2.5开发去哪儿网App 第五章笔记 上
    页面基本布局的一二事
    css属性—position的使用与页面的分层介绍
    Html的本质及在web中的作用
  • 原文地址:https://www.cnblogs.com/rongyupan/p/12880795.html
Copyright © 2011-2022 走看看