【问题标题】:Creating a conditional loop in Numpy/Pandas在 Numpy/Pandas 中创建条件循环
【发布时间】:2020-07-14 12:42:39
【问题描述】:

这里绝对是新手......

我有一个包含费用数据列表的数据集1 我想创建一个循环来确定该人比前一天花费更多并且也比第二天花费更多的日期。在这样做时,我希望它要么打印日期和金额(费用),要么创建一个新列,读取真/假。 我应该使用 Numpy 还是 Pandas?

我在想一些类似的东西:今天 = i 昨天 = i-1 和明天 = i+1 ...然后继续创建一个循环

【问题讨论】:

  • 复制并粘贴您的日期到问题中;不要使用图片。

标签: python pandas numpy loops


【解决方案1】:

你在寻找这样的东西吗:

# sample data
np.random.seed(4)
df = pd.DataFrame({'Date': pd.date_range('2020-01-01', '2020-01-10'),
                   'Name': ['Some Name', 'Another Name']*5,
                   'Price': np.random.randint(100,1000, 10)})

# groupby name 
g = df.groupby('Name')['Price']

# create a mask to filter your dataframe where the current price is grater than the price above and below
mask = (g.shift(0) > g.shift(1)) & (g.shift(0) > g.shift(-1))
df[mask]

        Date          Name  Price
3 2020-01-04  Another Name    809
4 2020-01-05     Some Name    997
7 2020-01-08  Another Name    556

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 2020-02-08
    • 2015-12-08
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2021-07-25
    相关资源
    最近更新 更多