【问题标题】:Calculate the percentage difference between two specific rows in Python pandas计算 Python pandas 中两个特定行之间的百分比差异
【发布时间】:2021-12-24 20:19:21
【问题描述】:

问题是我正在尝试运行我选择的特定行来计算特定行值与预期输出平均值的百分比(已经从另一列计算),以找出它偏离的百分比预期输出均值。

我想像这样单独运行每个项目:

下面我做了一个数据框列来存储结果

df['pct difference'] = ((df['tertiary_tag']['price'] - df['ab roller']['mean'])/df['ab roller']['mean']) * 100 

例如,假设平均值为 10,并且我知道该商品为 8 美元,请计算出与该商品的平均值相差多少百分比,然后为该数据集的每个商品返回该数字。返回它偏离平均值的百分比。

请记住,循环不能解决问题,因为我确信 pandas 有更实用的方法来计算百分比差异而不是 pct_change。

我还认为也许可以将非常特定的行创建为某个列作为索引,以便我可以使用,并使用它通过使用该索引访问列中的任何行,并从索引执行我的操作,例如你想要的任何操作计算两行之间的百分比差异?

我想可能是通过索引价格列?

df = df.set_index(['price']) df.index = pd.to_datetime(df.index) 

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:
    def percent_diff(df, row1, row2):
        """
        Calculating the percentage difference between two specific rows in a dataframe
        """
        return (df.loc[row1, 'value'] - df.loc[row2, 'value']) / df.loc[row2, 'value'] * 100
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多