数据转换

python:数据预处理 - 数据转换 - 使用映射、函数添加列

匿名 (未验证) 提交于 2019-12-02 22:11:45
Q: 如果有A->B的对应表1(映射),怎么对数据表2自动匹配&添加到数据最后一列? A:使用 .map() 函数。 《Python for Data Analysis, 2nd Edition》by Wes McKinney 举例: 请 在表“食物表”的基础上,添加每种食物对应的来源。 映射关系: bacon -> pig pastrami -> cow corned beef -> cow honey ham -> pig nova lox -> salmon 实现方法: import pandas as pd 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]}) # 建立映射关系 meat_to_animal = {'bacon': 'pig', 'pulled pork': 'pig', 'pastrami': 'cow', 'corned beef': 'cow', 'honey ham': 'pig', 'nova lox': 'salmon'} # 使用映射关系

java-两个long类型数据转换为int并且相除获得百分比

匿名 (未验证) 提交于 2019-12-02 20:59:24
在网上查了资料发现是数据库的问题,查出来的是long类型,而long类型是不能直接相除的。 但是又不能直接转换为integer,因为integer和long都是直接继承于父类Number类型,直接转换会报上述异常。 那就从Number下手。 ((java.lang.Number) goods.get("favourableCommentNum")).intValue()可以把long类型转换为一个int数据 ((java.lang.Number) goods.get("favourableCommentNum")).doubleValue()可以把long类型转换为一个double数据,因为要计算百分比,就需要转换成double类型。 DecimalFormat df = new DecimalFormat("0%"); df.format(((java.lang.Number) goods.get("favourableCommentNum")).intValue()/ ((java.lang.Number) goods.get("commentNum")).doubleValue())就可以算出不带小数点的百分比 DecimalFormat df1 = new DecimalFormat("0.00%"); df1.format(((java.lang.Number)