【问题标题】:Calculation of percentage of negative and prices for a three year period pandas计算三年期熊猫的负面和价格百分比
【发布时间】:2022-12-11 01:12:58
【问题描述】:
Df = ['FY', 'DATE', 'TIME', 'PRICE']

我在每一列中都有几千个值。在价格列中,我有负值和正值。我想计算 FY 价格列中负值的百分比。即 FY 的 TIME 列的负值百分比是多少。

我用 np.where(['price'] < 0 , 1, 0]) 分隔值,然后使用 groupby 计算观察值,但对如何计算百分比感到困惑。

FINYEAR QUARTER MONTH DATE PRICE Neg
2017 3 7 2016-07-01 00:30:00 292.91 False
2017 3 7 2016-07-01 01:00:00 112.63 False
2017 3 7 2016-07-01 01:30:00 75.52 False

【问题讨论】:

  • 请显示您的数据框示例。
  • “即按FY计算TIME列的负值百分比是多少”- 你说的“for TIME”是什么意思?您的数据框示例在这里很有用。
  • 您是否也可以展示您的预期输出样本?
  • 需要数据框的基本样本

标签: python pandas percentage


【解决方案1】:

检查这个例子:


# Import pandas library
import pandas as pd
 
# initialize list of lists
data = [['tom', 100], ['nick', -150], ['juli', -140]]
 
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['Name', 'P&L'])

negative_values = (df[df['P&L']<0].count())
total_values = df.shape[0]
pct = round((negative_values/total_values)*100,2)
print(pct)

Output:

66.67

如果你想计算负值的 pct 但在特定列上使用 groupby,请检查这个答案:Percentage calculation of positive/negative values inside a list in Python

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 2020-09-21
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多