相关疑难解决方法(0)

Pandas 如何获取连续日期和销售额超过 1000 的行?

我有一个名为的数据框df

Date        Sales
01/01/2020    812
02/01/2020    981
03/01/2020    923
04/01/2020   1033
05/01/2020    988
...           ...
Run Code Online (Sandbox Code Playgroud)

如何获得销售额超过 1000 的连续 7 天的第一次出现?

这就是我要查找销售额高于 1000 的行的操作:

In  [221]:  df.loc[df["sales"] >= 1000]
Out [221]: 
Date        Sales
04/01/2020   1033
08/01/2020   1008
09/01/2020   1091
17/01/2020   1080
18/01/2020   1121
19/01/2020   1098
...           ...
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

6
推荐指数
1
解决办法
288
查看次数

计算连续几天的python数据帧

我正在尝试按连续日期对ID进行分组.

ID     Date   
abc    2017-01-07  
abc    2017-01-08  
abc    2017-01-09  
abc    2017-12-09  
xyz    2017-01-05  
xyz    2017-01-06 
xyz    2017-04-15  
xyz    2017-04-16 
Run Code Online (Sandbox Code Playgroud)

需要退货:

ID     Count
abc    3
abc    1
xyz    2
xyz    2
Run Code Online (Sandbox Code Playgroud)

我试过了:

d = {'ID': ['abc', 'abc', 'abc', 'abc', 'xyz', 'xyz', 'xyz', 'xyz'], 'Date': ['2017-01-07','2017-01-08', '2017-01-09', '2017-12-09', '2017-01-05', '2017-01-06', '2017-04-15', '2017-04-16']}
df = pd.DataFrame(data=d)
df['Date'] =  pd.to_datetime(df['Date'])

today = pd.to_datetime('2018-10-23')   
x = df.sort_values('Date', ascending=0)
g = x.groupby(['ID'])
x[(today - x['Date']).dt.days == g.cumcount()].groupby(['ID']).size()
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以通过ID获取所有日期范围的计数?

python pandas pandas-groupby

4
推荐指数
1
解决办法
661
查看次数

使用pandas在同一索引的列中查找连续天数的开始和结束日期

我有一个数据框df

df =

index  date        hats
A1     01-01-2020  5
A1     02-01-2020  10
A1     03-01-2020  16
A1     04-01-2020  16
A1     21-01-2020  9
A1     22-01-2020  8
A1     23-01-2020  7
A6     20-03-2020  5
A6     21-03-2020  5
A8     30-07-2020  12
Run Code Online (Sandbox Code Playgroud)

这里,前四行是连续的天数。我想知道数据框中所有这些连续天数的开始日期和结束日期。如果像 wiseA8索引那样的系列中只有一天,df那么开始日期和结束日期将相同。此外,我也有兴趣了解df['hats']连续天数系列中列中的最高值,并将其日期与其 datehigh_hat一起返回到单独的列中high_hat_date。如果在一系列连续天数中有两个或更多相等的高值,则在新列中num_hat写入高值出现的次数,并在 中写入第一个出现日期high_hat_date

上述数据框的示例输出如下:

index   start_date    end_date    high_hat    high_hat_date   num_hat
A1      01-01-2020    04-01-2020  16          03-01-2020      2
A1      21-01-2020    23-01-2020  9           21-01-2020      1
A6      20-03-2020    21-03-2020  5           20-03-2020 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
573
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×2

pandas-groupby ×1

python-3.x ×1