| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Part 2.4 pandas的Apply 函数和 Map函数 -> 正文阅读 |
|
[人工智能]Part 2.4 pandas的Apply 函数和 Map函数 |
Applications of Deep Neural Networks with Keras 基于Keras的深度神经网络应用 著:Jeff Heaton 译:人工智能学术前沿 目录 1.Python基础 2.机器学习Python 3.TensorFlow简介 4.表格类数据的训练 5.正则化和Dropout 6.用于计算机视觉的卷积神经网络 7.生成对抗网络 8.Kaggle数据集 9.迁移学习 10.Keras的时间序列 11.自然语言处理与语音识别 12.强化学习 13.Advanced/Other Topics 14.其他神经网络技术 2.4 Apply 函数和 Map函数Part 2.4: Apply and Map 如果你以前接触过大数据或函数式编程语言,你可能听说过map/reduce。Map和reduce是将创建的任务应用到数据帧(dataframe)的两个函数。Pandas支持函数式编程技术,允许您跨整个数据帧使用函数。除了您编写的函数外,Pandas还提供了几个用于数据帧的标准函数。 数据帧中Map函数的使用Using Map with Dataframes map函数允许您通过将列中的某些值映射到其他值来转换列。考虑Auto MPG数据集,其中包含一个字段origin_name,该字段包含一个介于1到3之间的值,该值指示每一辆汽车的地理来源。我们可以看到如何使用map函数将这个数字原点转换为每个原点的文本名称。
Pandas中的map方法操作单个列。为map提供一个值字典,用于转换目标列。映射键指定目标列中的哪些值应该转换为这些键指定的值。下面的代码展示了map函数如何将1、2和3的数值转换为北美、欧洲和亚洲的字符串值。Pandas中的map方法操作单个列。为map提供一个值字典,用于转换目标列。映射键指定目标列中的哪些值应该转换为这些键指定的值。下面的代码展示了map函数如何将1、2和3的数值转换为北美、欧洲和亚洲的字符串值。
数据帧中Apply函数的使用Using Apply with Dataframes 数据帧的apply函数可以在整个数据帧上运行一个函数。您可以使用传统的命名函数或lambda函数。Python将针对数据帧中的每一行或每一列执行所提供的函数。函数的轴参数指定是跨行或列运行的。对于axis = 1,使用行。下面的代码计算一个称为efficiency 的级数,它是displacement除以horsepower。
输出 45 2.345455 290 2.471831 313 1.677778 82 1.237113 33 2.320000 249 2.363636 27 1.514286 7 2.046512 302 1.500000 179 1.234694 dtype: float64 现在,您可以将该系列插入到数据框架中,作为新列或替换现有列。下面的代码将这个新系列插入到数据帧中。
使用Apply和Map函数的特征工程Feature Engineering with Apply and Map 在本节中,我们将看到如何使用map、apply和分组来计算复杂的特性。数据集为CSV格式: https://www.irs.gov/pub/irs-soi/16zpallagi.csv 此URL包含美国政府“SOI税收统计-个人所得税统计”的公共数据。该网站的入口点在这里: https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-statistics-2016-zip-code-data-soi 描述该数据的文档位于上面的链接。 STATE?- 国家(e.g., MO) zipcode?- 邮编 (e.g. 63017) agi_stub?- 年收入的六个不同等级 (1 through 6) N1?- 每个agi_stub的纳税申报单的数量 注意,对于agi_stub括号中的每个邮政编码,该文件将有六行。您可以跳过邮政编码0或99999。 我们必须把这六行合并成一行。出于隐私考虑,AGI被分成6个部分。我们需要将这些桶组合起来,并估计一个邮政编码的实际AGI。为此,考虑N1的值: 1 = 1 to 25,000 2 = 25,000 to 50,000 3 = 50,000 to 75,000 4 = 75,000 to 100,000 5 = 100,000 to 200,000 6 = 200,000 or more 这些范围的中位数约为: 1 = 12,500 2 = 37,500 3 = 62,500 4 = 87,500 5 = 112,500 6 = 212,500 使用这个你可以估计63017的平均AGI如下: >>> totalCount = 4710 + 2780 + 2130 + 2010 + 5240 + 3510 >>> totalAGI = 4710 * 12500 + 2780 * 37500 + 2130 * 62500 + 2010 * 87500 + 5240 * 112500 + 3510 * 212500 >>> print(totalAGI / totalCount) 88689.89205103042 我们从读取政府数据开始。
首先,我们修剪所有邮政编码0或99999。我们还选择了我们需要的三个字段。
我们使用map函数将所有agi_stub值替换为正确的中值。
接下来,我们将数据帧按邮政编码分组。
该程序应用一个lambda在组中应用,然后计算AGI估计。
现在可以重命名新的agi_estimate列。
最后,我们检查63017的邮政编码是否得到了正确的值。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:17:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |