首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解复杂的单行代码--大商场销售数据集分析

理解复杂的单行代码--大商场销售数据集分析
EN

Stack Overflow用户
提问于 2020-07-10 01:45:37
回答 2查看 111关注 0票数 1

我一直在努力学习分析大商场的销售数据集从这个网站。我无法解码一行代码,这是有点复杂。我试着去理解它的神秘性,但我无法做到。请帮我理解这句话

In 26

代码语言:javascript
复制
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)

先谢谢你。快乐编码

EN

回答 2

Stack Overflow用户

发布于 2020-07-10 02:14:30

代码语言:javascript
复制
df['Item_Visibility_MeanRatio'] 

这是新的列名

代码语言:javascript
复制
= df.apply(lambda x: 

将函数应用于数据帧

代码语言:javascript
复制
x['Item_Visibility'] 

从原始数据中获取Item_Visibility列

代码语言:javascript
复制
/visibility_item_avg['Item_Visibility'][visibility_item_avg.index == x['Item_Identifier']][0] 

除以新透视表中的Item_Visibility列,其中Item_Identifier等于原始数据table中的Item_Identifier

代码语言:javascript
复制
,axis=1) 

沿列(水平方向)应用

代码语言:javascript
复制
.astype(float) 

转换为浮动类型

而且,看起来.apply在您所附加的链接上使用了很多。应该注意的是,应用通常是一种缓慢的做事方式,而且通常会有避免使用apply的替代方法。

票数 1
EN

Stack Overflow用户

发布于 2020-07-10 02:17:19

让我们一步一步地深入研究:

代码语言:javascript
复制
df['Item_Visibility_MeanRatio']

这一部分是在数据框架中创建一个列,它的名称是Item_Visibility_MeanRatio

代码语言:javascript
复制
df.apply(lambda...)

沿数据帧的轴应用函数。

代码语言:javascript
复制
x['Item_Visibility']

它是从数据帧中的Item_Visibility列中获取数据。

代码语言:javascript
复制
visibility_item_avg['Item_Visibility'][visibility_item_avg.index == x['Item_Identifier']][0]

本部分发现visibility_item_avg索引等于df['Item_Identifier'].This的索引将导致列表。然后,它将得到visibility_item_avg['Item_Visibility']中的元素,该元素的索引与前一部分中的值相等。最后的[0] 是查找结果数组的第一个元素.

代码语言:javascript
复制
axis=1

1:将函数应用于每一行。

代码语言:javascript
复制
astype(float)

这是为了将值类型更改为浮动。为了使代码易于抓取,您始终可以将其拆分为各个部分,并一点一点地消化它。

为了使代码更快,您可以进行矢量化,而不是应用lambda。请参考链接这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62826161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档