【Python】dataframe列数据的修改(map函数)

      在对数据进行分析时,如果某一列的值较为分散,那么在画柱状图或者分析时,我们大多会对这列数据处理,处理后再进行分析。这就涉及到对DataFrame的列的处理。

       看以下的场景,处理前:

df_1 = df[(df['country']== 1)]
sns.barplot(x = df_1['hotel_score'], y = df_1['uv'])
plt.show() # 图3

图为:很难看清横轴的标签

下面对数据进行处理:

# 处理评分的区间
def dev_hotel_score(hotel_score):
    if hotel_score<=1:
        result = 1
    elif hotel_score<=1.5:
        result = 1.5
    elif hotel_score<=2:
        result = 2
    elif hotel_score<=2.5:
        result = 2.5
    elif hotel_score<=3:
        result = 3
    elif hotel_score<=3.5:
        result = 3.5
    elif hotel_score<=4:
        result = 4
    elif hotel_score<=4.5:
        result = 4.5
    elif hotel_score<=5:
        result = 5
    else:
        result = hotel_score
    return result
df_1 = df[(df['country']== 1)]
sns.barplot(x = df_1['hotel_score'].map(lambda x:dev_hotel_score(x)), y = df_1['uv'])
plt.show() # 图3        

可以看出下面画出的图,就更加直观了。

上面对列的处理,我用到了map-lambda的组合,在很多地方都是很实用的,有机会还是要多锻炼使用。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值