防抖和节流

之前代码:

滑动右侧A-Z导航条

handlerTouchMove(e) {
  if (this.touchStatus) {     
      const touchY = e.touches[0].clientY - 79;
      const letterIndex = Math.floor((touchY - this.startY) / 20);
      if(letterIndex >= 0 && letterIndex < this.firstLetterList.length){
		this.$emit("change-letter", this.firstLetterList[letterIndex]);
	  }  
  }
},

防抖:

handleTouchMove(e){
    //如果16ms还有操作就会再次触发touchMove,然后清除timer,重新计时,
    //所以只有保证16ms内不滑动,不清除timer才会执行$emit操作
    if(this.touchStatus){
        if(this.timer){
            clearTimeout(this.timer)
        }
        this.timer = setTimeout(() => {
            //ref属性,在v-for里面循环生成的时候,是个Arrray,如果要获取dom元素,要用this.$refs[ref值][0]这样的形式
            const startY  = this.$refs['A'][0].offsetTop //3.拿到第一个元素距离顶部高度
            const touchY = e.touches[0].clientY-79 //4.拿到手指触动的位置
            const index = Math.floor((touchY-startY)/20) //5.得到字母下标
            if(index>=0 && index<this.letters.length){ //6.判断index范围
                this.$emit('change',this.letters[index])
            }
        },16)       
    }
}

节流:

if (this.touchStatus) {

    let flag = true

    if (!flag){
        return flag = false
    } 

    setTimeout(() => { // 函数节流提升性能

      const startY = this.$refs['A'][0].offsetTop
      const touchY = e.touches[0].clientY - 79 
      const index = Math.floor((touchY - this.startY) / 20) 

      if (index >= 0 && index < this.latters.length) {
        this.$emit('change', this.latters[index]) 
      }

      flag = true

    }, 16)

}

参考链接:
https://coding.imooc.com/learn/questiondetail/142413.html
https://coding.imooc.com/learn/questiondetail/94705.html

<think>嗯,用户想了解Elevator特征分析的方法定义,我需要结合之前的引用内容来回答。首先,看看引用[1][2],里面提到了如何填补Elevator的缺失值,以及用可视化的方法分析电梯对房价的影响。用户的问题是关于电梯特征分析的概念方法,所以需要从数据处理分析步骤来组织答案。 首先,特征分析一般包括数据清洗、缺失值填补、分布分析相关性分析。在Elevator的例子中,填补缺失值时根据楼层高低来判断是否有电梯,这在引用[1]里有详细代码。然后,使用countplotbarplot来对比数量房价,这部分在引用[1][2]都有提到。需要解释这些方法的目的,比如检查数据分布、价格差异等。 另外,引用[4]提到处理户型结构时用了众数填充,可能类似的方法可以用在Elevator上,但用户这里已经用楼层填补了。不过可能需要提到其他可能的分析方法,比如结合其他特征如YearRenovation,像引用[2]中的FacetGrid那样,分析不同装修情况下电梯对房价的影响随时间的变化。 还要注意用户可能的应用场景,比如房地产定价模型或者市场分析,这时候Elevator作为一个特征的重要性。需要确保回答涵盖定义方法,定义部分可以总结为电梯特征对房价的影响分析,方法包括数据预处理、可视化多维度分析。 可能用户的实际需求是进行类似的数据分析项目,所以需要给出具体步骤代码示例,但根据用户的问题,可能不需要代码,而是概念方法。不过引用中的代码示例可以辅助说明方法,比如填补缺失值的逻辑,或者绘图的步骤。 总结一下,回答的结构应该是:定义电梯特征分析,然后分步骤讲解方法,包括数据清洗、填补、分布分析、价格对比、多因素分析,最后结合应用场景。同时,相关问题可以引导用户深入性能优化、其他特征分析或实际应用。</think>### Elevator特征分析方法解析 #### **定义** Elevator特征分析指在房地产数据中,通过「有无电梯」这一属性研究其对房价、房屋分布等指标的影响。该方法常用于揭示电梯属性与市场价值之间的关联性,并为数据清洗、价格预测提供依据[^1][^2]。 --- #### **核心方法** 1. **数据清洗与填补** - **逻辑判断填补**:根据楼层高度规则填补缺失值(例如:楼层>6时默认有电梯,≤6层默认无电梯)[^1] ```python df.loc[(df['Floor']>6)&(df['Elevator'].isnull()), 'Elevator'] = '有电梯' df.loc[(df['Floor']<=6)&(df['Elevator'].isnull()), 'Elevator'] = '无电梯' ``` - **异常值过滤**:保留有效类别(仅允许“有电梯”“无电梯”),排除特征错位数据[^1] 2. **分布分析** - **数量对比**:使用柱状图(`countplot`)观察有/无电梯房屋的数量比例,反映市场供给结构[^1] - **价格对比**:通过分组箱线图或均值柱状图(`barplot`)比较两类房屋的总价差异,例如: ```python sns.barplot(x='Elevator', y='Price', data=df) ``` 结果显示有电梯房屋均价更高,可能因包含电梯维护成本或高层地段溢价[^2] 3. **多维度交叉分析** - **结合装修与年份**:使用分面网格(`FacetGrid`)分析不同装修类型、年份下电梯属性对房价的影响趋势[^2] - **与其他特征关联**:例如分析电梯属性与房屋面积、户型的相关性,挖掘潜在影响因素 --- #### **应用场景** - **房价预测模型**:将电梯属性作为分类特征输入回归模型[^3] - **市场供需分析**:通过电梯分布评估高/低层住宅的市场需求差异[^2] - **数据质量优化**:验证填补规则的合理性(如检查填补后数据是否符合市场常识)[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值