Java中接口有什么用
325
2022-08-24
python_转换为数值类型&map映射&分桶&factorize
python_类型转换&map映射
Transforming Data Using a Function or Mapping# 利⽤函数或映射进⾏数据转换# 对于许多数据集,你可能希望根据数组、Series或DataFrame列# 中的值来实现转换⼯作。我们来看看下⾯这组有关⾁类的数据data = pd.DataFrame({'food': ['bacon', 'pulled pork', 'bacon', 'Pastrami', 'corned beef', 'Bacon', 'pastrami', 'honey ham', 'nova lox'], 'ounces': [4, 3, 12, 6, 7.5, 8, 3, 5, 6]})datafood ounces0 bacon 4.01 pulled pork 3.02 bacon 12.03 Pastrami 6.04 corned beef 7.55 Bacon 8.06 pastrami 3.07 honey ham 5.08 nova lox 6.0meat_to_animal = { 'bacon': 'pig', 'pulled pork': 'pig', 'pastrami': 'cow', 'corned beef': 'cow', 'honey ham': 'pig', 'nova lox': 'salmon'}映射# 使⽤Series的str.lower⽅法,将# 各个值转换为⼩写:lowercased = data['food'].str.lower()lowercased# Series的map⽅法可以接受⼀个函数或含有映射关系的字典型对 映射# 象data['animal'] = lowercased.map(meat_to_animal)datafood ounces animal0 bacon 4.0 pig1 pulled pork 3.0 pig2 bacon 12.0 pig3 Pastrami 6.0 cow4 corned beef 7.5 cow5 Bacon 8.0 pig6 pastrami 3.0 cow7 honey ham 5.0 pig8 nova lox 6.0 salmon# 使用lambda类型映射# 使⽤map是⼀种实现元素级转换以及其他数据清理⼯作的便捷⽅data['food'].map(lambda x: meat_to_animal[x.lower()])# 使用lambda类型映射# 使⽤map是⼀种实现元素级转换以及其他数据清理⼯作的便捷⽅data['food'].map(lambda x: meat_to_animal[x.lower()])
案例二
import pandas as pddf = pd.DataFrame([ ['green', 'M', 10.1, 'class1'], ['red', 'L', 13.5, 'class2'], ['blue', 'XL', 15.3, 'class1']])df.columns = ['color', 'size', 'prize', 'class label']dfcolor size prize class label0 green M 10.1 class11 red L 13.5 class22 blue XL 15.3 class1size_mapping = { 'XL': 3, 'L': 2, 'M': 1}df['size'] = df['size'].map(size_mapping)# df['size_b'] = df['size'].map(size_mapping)dfcolor size prize class label0 green 1 10.1 11 red 2 13.5 02 blue 3 15.3 1ab=enumerate(set(df['class label']))print(ab)
案例三,通过pd.factorize 函数
labels, uniques = pd.factorize(['b', 'b', 'a', 'c', 'b'])labelsarray([0, 0, 1, 2, 0], dtype=int64)uniquesarray(['b', 'a', 'c'], dtype=object)labels, uniques = pd.factorize(['b', 'b', 'a', 'c', 'b'], sort=True)labelsarray([1, 1, 0, 2, 1], dtype=int64)>>> labels, uniques = pd.factorize(['b', 'b', 'a', 'c', 'b'], sort=True)>>> labelsarray([1, 1, 0, 2, 1])>>> array(['a', 'b', 'c'], dtype=object)uniquesarray(['a', 'b', 'c'], dtype=object)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~