python - 在调用 apply() 之前将列添加到具有先前行值的 pandas.DataFrame
问题描述
我需要向 a 添加一个新列,其中的值是根据前一行pandas
dataframe
中一列的值计算得出的。
来自非功能性背景(C#
),我试图避免循环,因为我读到它是一种反模式。
我的计划是使用为先前的值series.shift
添加一个新列,调用并最终删除附加列。例如:dataframe
dataframe.apply
def my_function(row):
# perform complex calculations with row.time, row.time_previous and other values
# return the result
df["time_previous"] = df.time.shift(1)
df.apply(my_function, axis = 1)
df.drop("time.previous", axis=1)
实际上,我需要像这样创建四个额外的列。有没有更好的选择来完成这个没有循环?这是个好主意吗?
解决方案
推荐阅读
- c# - 有没有办法将工件 nuget 作者姓名从(默认?) VssAdministrator 更改为我的首选作者姓名?
- java - 我在事件处理方面做的每一件事都是正确的。但是,我遗漏了一些东西。请问这是什么?
- reactjs - 尝试将 const 导出到 React 中的另一个组件
- amazon-web-services - 证书未由受信任的 CA 正确签名
- c++ - 在一个类中使用另一个类中的函数,而无需在 C++ 中继承
- r - 在 Shiny 中插入警告信息
- javascript - 如何在反应中删除ckeditor5工具栏上的图像插件
- css - 隐藏水平滚动条但可以继续滚动
- javascript - 禁用所有事件,除非在自定义上下文菜单的情况下单击左键
- amazon-web-services - 如何在 AWS-SDK JS 版本 3 中获取签名的 S3 Url?