找到一年中的前 n 个,然后是一年中的每个月

大家早上好,

我想要报告当年的前 n 个客户,然后显示这些前 n 个客户在一年中的绩效。 样本 df:

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

作为PD

= [

('', ['A','A','A','A',

'B','B','B','B',

'C','C','C','C',

'D','D','D','D']),

('', ['2023-08', '2023-09', '2023-10', '2023-11',

'2023-08', '2023-09', '2023-10', '2023-11',

'2023-08', '2023-09', '2023-10', '2023-11',

'2023-08'、'2023-09'、'2023-10'、'2023-11']),

('', [100, 200, 300, 400,

1, 2, 3, 4,

10、20、30、40、

1000、2000、3000、4000]

),

('状态', ['完成', '捆绑完成', '捆绑完成', '完成',

'','完成','','完成',

'','完成','','完成',

‘完成’,‘完成’,‘完成’,‘完成’]

df = pd..()

打印(df)

状态

0 A 2023-08 100 完成

1 A 2023-09 200 并列 完成

2 A 2023-10 300 并列 完成

3 A 2023-11 400 完成

4B 2023-08 1

5 B 2023-09 2 完成

6 B 2023-10 3

7 B 2023-11 4 完成

8 C 2023-08 10

9 C 2023-09 20 完成

10 C 2023-10 30

11 C 2023-11 40 完成

12 天 2023-08 1000 完成

13 D 2023-09 2000 完成

14 天 2023-10 3000 完成

15 天 2023-11 4000 完成

现在确定顶部,假设为two(n); 关于已完成交易的客户:

10

11

12

13

14

15

16

17 号

18

19

20

d = [

('', '总和')

# 首先是 df,然后是

mask = ((df['state'] == '完成') | (df['state'] == '捆绑完成'))

e = df[掩码].([''])[''].agg(d)

打印(e)

一个1000

乙6

碳60

d 10000

打印(例如(2,''))

d 10000

一个1000

因此,客户 A 和 D 是我表现最好的两个(n)个客户。

我现在想将此列表或 df 反馈回原始数据,以便在升序到顶部的情况下检索它们,并将客户列为行

年度表现

2023年8月 2023年9月 2023年10月 2023年11月

100 200 300 400

d 1 4000

你需要.

这是我的建议:

10

11

12

13

14

15

16

def (df, n):

= df[df['state'].isin(['完成', '捆绑完成'])]

aggs = {'':['总和']}

数据 = .('').agg(aggs)

数据 = 数据.()

数据。 = ['','']

数据 = 数据。(by='', =False)

数据。 头(n)

ls= 列表((df, 2)..)

数据 = pd.(df[df[''].isin(ls)], ='', 索引=[''],

=[''])

数据 = 数据.()

打印(数据)

输出:

2023年8月 2023年9月 2023年10月 2023年11月

0 100 200 300 400

1D 1 4000

我希望这有帮助!

国际大学学院

s=df.loc[df.state.isin(['完成','捆绑完成'])].drop('state',1)

s = s。 枢轴(*s。)

s.loc[s.sum(1).(2).index]

2023年8月 2023年9月 2023年10月 2023年11月

D 1000.0 2000.0 3000.0 4000.0

100.0 200.0 300.0 400.0

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注