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函数将这个数字原点转换为每个原点的文本名称。
我们将开始加载自动MPG数据集。
import osimport pandas as pdimport numpy as npdf = pd.read_csv( "https://data.heatonresearch.com/data/t81-558/auto-mpg.csv", na_values=['NA', '?'])pd.set_option('display.max_columns', 7)pd.set_option('display.max_rows', 5)display(df)
Pandas中的map方法操作单个列。为map提供一个值字典,用于转换目标列。映射键指定目标列中的哪些值应该转换为这些键指定的值。下面的代码展示了map函数如何将1、2和3的数值转换为北美、欧洲和亚洲的字符串值。Pandas中的map方法操作单个列。为map提供一个值字典,用于转换目标列。映射键指定目标列中的哪些值应该转换为这些键指定的值。下面的代码展示了map函数如何将1、2和3的数值转换为北美、欧洲和亚洲的字符串值。
# Apply the mapdf['origin_name'] = df['origin'].map( {1: 'North America', 2: 'Europe', 3: 'Asia'})# Shuffle the data, so that we hopefully see# more regions.df = df.reindex(np.random.permutation(df.index)) # Displaypd.set_option('display.max_columns', 7)pd.set_option('display.max_rows', 10)display(df)
数据帧中Apply函数的使用
Using Apply with Dataframes
数据帧的apply函数可以在整个数据帧上运行一个函数。您可以使用传统的命名函数或lambda函数。Python将针对数据帧中的每一行或每一列执行所提供的函数。函数的轴参数指定是跨行或列运行的。对于axis = 1,使用行。下面的代码计算一个称为efficiency 的级数,它是displacement除以horsepower。
efficiency = df.apply(lambda x: x['displacement']/x['horsepower'], axis=1)display(efficiency[0:10])
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.