我一直在尝试从这个website学习分析大商场销售数据集。我无法解码一行有点复杂的代码。我试着去理解它,去神秘化它,但我没能理解。请帮我理解这句话
[26]中的
df['Item_Visibility_MeanRatio'] = df.apply(lambda x: x['Item_Visibility']/visibility_item_avg['Item_Visibility'][visibility_item_avg.index == x['Item_Identifier']][0],axis=1).astype(float)
事先非常感谢。快乐编码
这是新的列名
将函数应用于数据帧
从原始数据框中获取Item_可见性列
在新数据透视表中的Item_可见性列中进行分割,其中Item_标识符等于原始数据帧中的Item_标识符
沿列应用(水平)
转换为浮点型
另外,看起来
.apply
在您附加的链接上使用了很多。应该注意的是,apply通常是一种缓慢的方式,通常有其他方法可以避免使用apply让我们一步一步地进行:
此部件正在数据框中创建一列,其名称为
Item_Visibility_MeanRatio
沿数据帧的轴应用函数
它从数据帧中的
Item_Visibility
列获取数据这部分查找
visibility_item_avg
索引等于df['Item_Identifier']
的索引。这将生成一个列表。然后它将得到visibility_item_avg['Item_Visibility']
中的元素,其索引等于上一部分中找到的内容[0]
最后是查找结果数组的第一个元素。1:将函数应用于每行
这用于将值类型更改为浮动。 为了使代码易于获取,您总是可以将其拆分为单独的部分,并一点一点地进行消化
为了使代码更快,可以进行矢量化,而不是应用lambda。 请参阅链接here
相关问题 更多 >
编程相关推荐