首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用熊猫操作数组中的数据

如何使用熊猫操作数组中的数据
EN

Stack Overflow用户
提问于 2019-12-29 23:33:36
回答 1查看 152关注 0票数 1

在dataframe中拥有数据,并需要比较一列的当前值和另一列的先验值。当前时间是这个数据文件中的第5行,下面是所需的输出:

将目标数据流并捕获到DataFrame中,然后将该数组乘以一个常数以生成另一列,但是无法生成第三列comp,后者应将prod的当前值与来自comp的comp的先验值进行比较。

代码语言:javascript
运行
复制
df['temp'] = self.temp
df['prod'] = df['temp'].multiply(other=const1)

另一个用户建议使用此逻辑,但它会生成错误,因为例程的数组与DataFrame的大小不匹配:

代码语言:javascript
运行
复制
for i in range(2, len(df['temp'])):
    df['comp'].append(max(df['prod'][i], df['comp'][i - 1]))

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-30 03:12:09

让我们尝试一下,我认为这将捕捉到您的预期逻辑:

代码语言:javascript
运行
复制
df = pd.DataFrame({'col0':[1,2,3,4,5]
                  ,'col1':[5,4.9,5.5,3.5,6.3]
                  ,'col2':[2.5,2.45,2.75,1.75,3.15]
                  })

df['col3'] = df['col2'].shift(-1).cummax().shift()

print(df)

输出:

代码语言:javascript
运行
复制
   col0  col1  col2  col3
0     1   5.0  2.50   NaN
1     2   4.9  2.45  2.45
2     3   5.5  2.75  2.75
3     4   3.5  1.75  2.75
4     5   6.3  3.15  3.15
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59524226

复制
相关文章

相似问题

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