我有一个数据框,我想在其中计算某个列(值)上的diff()。要计算的周期数来自另一列(周期)。
我试过:
df['Diff'] = df['Value'].diff(periods=df['Periods'])
=
在不同的帖子中,我看到我们需要使用. astype(int):
df['Diff'] = df['Value'].diff(periods=df['Periods'].astype(int))
=
我也尝试过。
df['Diff'] = df['Value'].diff(periods=df['Periods'].values)
=
有人知道我在这里遗漏了什么吗?
df['Diff'] = df.Value - pd.Series(df.Value[df.index - df.Period].values, df.index)
一种方法可能是以下方法——不是最有效的,但确实有效:
import pandas as pd
import numpy as np
df = pd.DataFrame({"Periods":[0,1,2,2], "Value":[32, 35, 37, 41]})
df["Diff"] = np.diag(df.apply(lambda x:df["Value"].diff(x["Periods"]), axis=1))
df
输出
Periods Value Diff
0 0 32 0.0
1 1 35 3.0
2 2 37 5.0
3 2 41 6.0
您可以手动执行此操作<代码>重置索引以确保数据帧具有范围索引。然后从索引中减去句点,以确定需要从哪一行提取“值”,并将其映射到原始数据帧。现在,您可以手动减去以计算差值,其中包含变量“Periods”。
df = df.reset_index(drop=True)
df['Value_shift'] = (df.index - df['Periods']).map(df['Value'])
df['Diff'] = df['Value'] - df['Value_shift']
print(df)
Periods Value Value_shift Diff
0 0 32 32 0
1 1 35 32 3
2 2 37 32 5
3 2 41 35 6
问题内容: 我有一个表,其中包含商店中每件商品的单价和其他详细信息。 另一个包含每个订单中包含的项目的详细信息。 现在我要计算 请注意,我希望它成为表本身的一部分,而不是作为其他视图或查询。我怎样才能做到这一点?我为此研究了触发器和其他机制,但是它们是否适用于不同表中的值,尤其是在存在此类约束的情况下? 我尝试过根据另一列计算出的Column进行以下触发吗?: 但这似乎没有用 问题答案: 这是如何
问题内容: 具体来说,我正在尝试使用字符串任意过滤ORM。我已经尝试过exec和eval解决方案,但是我遇到了麻烦。下面的代码不起作用,但这是我知道如何解释我要去的地方的最好方法 问题答案:
问题内容: 所以我试图理解: 在: 在: 如果用作关键字参数,该消失: 在: 是什么原因造成的? 问题答案: 确实与这无关。您实际上是这样调用函数的: Python首先满足位置参数,而您的第一个参数是。然后,应用关键字参数,并 再次 提供。 无法检测到您已经提供了第一个位置参数作为关键字参数。通过用关键字参数替换位置参数,不会增加您的通话次数。 在混合使用位置参数和关键字参数时,必须注意不要重复使
问题内容: 解决以下问题 的最有效方法 是什么?从交互式外壳程序: 目前,我正在解决以下问题: 但是看起来很笨拙… (python 2.7+或3.2+解决方案都可以) 问题答案: 使用关键字参数解包:
我正在使用一个Spring数据JPA(4.3.5)存储库和一个查询方法,该方法在关键字子句中使用<代码>列表 给定如下实体: 使用该SQL声明: Estat是一个枚举类,类似于: 和JPA存储库,如: 当我运行(联调类): 生成的SQL是(在内存H2 DB中): 不会引发任何SQL异常,并且不会返回任何结果。但这应该返回1个结果,因为此(等效)SQL返回: 我能看到的独特区别是我如何在"(该列是V
我希望在一个数据框中估计模型,但是每个模型的公式都有一些来自另一个数据框的“移动部分”。例如,假设我想估计以下模型(我不能发布图片,也没有办法输入乳胶方程):mpg=a+B*log(w_1*drat+w_2*hp) group_by()的输出: