Python 和 Pandas - 将 Excel 公式转移到 Pandas
Python and Pandas - Transferring Excel formula to Pandas
目前,我正在尝试将我的 Weibull 计算从 excel 宏迁移到 Python,我主要使用的工具是 Pandas。我目前无法从 excel 转换为 Python 的公式如下:
调整后的排名 =(调整后排名列中的先前值)*(另一列的值),但调整后排名列中的第一个值 = 0
我的大脑正试图将此方法复制并粘贴到 pandas,但正如您想象的那样,它不会那样工作:
DF[调整后的排名] =(调整后排名列中的先前值)* DF(另一列),但调整后排名列中的第一个值 = 0
最后,我想调整后的排名列将如下所示:
Adjusted Rank
0
Some Number
Some Number
Some Number
etc.
我很难弄清楚如何使调整后排名列中的每个 "cell" 都引用 In Pandas 列中的先前值。此外,有没有办法只将列中的第一个条目设置为 0?谢谢大家!
您可以使用 shift 乘以先前的值并在开头添加一个零,这应该有效:
df['new'] = df['adjusted_rank'].shift(period = 1, fill_value=0) * df['another_column']
目前,我正在尝试将我的 Weibull 计算从 excel 宏迁移到 Python,我主要使用的工具是 Pandas。我目前无法从 excel 转换为 Python 的公式如下:
调整后的排名 =(调整后排名列中的先前值)*(另一列的值),但调整后排名列中的第一个值 = 0
我的大脑正试图将此方法复制并粘贴到 pandas,但正如您想象的那样,它不会那样工作:
DF[调整后的排名] =(调整后排名列中的先前值)* DF(另一列),但调整后排名列中的第一个值 = 0
最后,我想调整后的排名列将如下所示:
Adjusted Rank
0
Some Number
Some Number
Some Number
etc.
我很难弄清楚如何使调整后排名列中的每个 "cell" 都引用 In Pandas 列中的先前值。此外,有没有办法只将列中的第一个条目设置为 0?谢谢大家!
您可以使用 shift 乘以先前的值并在开头添加一个零,这应该有效:
df['new'] = df['adjusted_rank'].shift(period = 1, fill_value=0) * df['another_column']