DataFrame的归一化

Pandas DataFrame Official Doc
只是单纯的做个笔记。
pandas包主要是用来高效,灵活的处理数据。 看了dataframe有关的描述,上层是bunch,dict, object。就当做字典来对待,其中key是列名,value就是每列的值。其中,调用相关函数,例如min,max之类都是对每个key的value操作。apply也一样。更多的操作,可以看官方操作。这里我试着做了一下Normalization,也是非常的方便。只要多熟悉就可以了。

数据归一化

orders =  [["David","3","Ceviche"],["Corina","10","Beef Burrito"],["David","3","Fried Chicken"],["Carla","5","Water"],["Carla","5","Ceviche"],["Rous","3","Ceviche"]]

import pandas as pd
import math
foods = sorted(list(set(map(lambda x: x[2], orders))))
tables = sorted(list(set(map(lambda x: x[1], orders))), key = lambda x: int(x))
n, m = len(foods), len(tables)
for u, t, f in orders:
    df.iloc[list(df.index).index(t),list(df.columns).index(f)]+=1
df
tableIDBeef BurritoCevicheFried ChickenWater
30.02.01.00.0
50.02.01.00.0
100.02.01.00.0
df_Zscore = df.apply(lambda x: (x - x.mean())/math.sqrt(sum((x - x.min())**2 / len(x))))
print("\t\tZ-score Normalization\n", df_Zscore)
df_minmax = df.apply(lambda x: (x - x.min())/(x.max()-x.min()))
print("\t\tMinMax normalization\n ", df_minmax)

Z-Score Normalization

tableIDBeef BurritoCevicheFried ChickenWater
3-0.5773500.7745971.154701-0.577350
5-0.5773500.000000-0.5773501.154701
101.154701-0.774597-0.577350-0.577350

MinMax Normalization

tableIDBeef BurritoCevicheFried ChickenWater
30.01.01.00.0
50.00.50.01.0
101.00.00.00.0
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值