【发布时间】:2022-02-23 19:59:43
【问题描述】:
这是我的数据框
import pandas as pd
data=pd.DataFrame({'vehicle':['car','car','car','car','car','car','bus','bus','bus','bus','bus','bus','car','car','car','car','car','car','bus','bus','bus','bus','bus','bus'],
'expecteddate':['2/24/2022','2/24/2022','3/15/2022','3/15/2022','4/20/2022','4/20/2022','2/24/2022','2/24/2022','3/15/2022','3/15/2022','4/20/2022','4/20/2022','2/24/2022','2/24/2022','3/15/2022','3/15/2022','4/20/2022','4/20/2022','2/24/2022','2/24/2022','3/15/2022','3/15/2022','4/20/2022','4/20/2022'],'range':[240,240,240,240,240,240,300,300,300,300,300,300,240,240,240,240,240,240,300,300,300,300,300,300],'color':['blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red','blue','red'],'discount':[70,80,90,60,40,50,120,110,130,140,80,90,60,40,50,30,70,45,130,100,140,120,90,30],'date':['2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/18/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022','2/17/2022']})
print(data)
数据框中的数据:
vehicle expecteddate range color discount date
0 car 2/24/2022 240 blue 70 2/18/2022
1 car 2/24/2022 240 red 80 2/18/2022
2 car 3/15/2022 240 blue 90 2/18/2022
3 car 3/15/2022 240 red 60 2/18/2022
4 car 4/20/2022 240 blue 40 2/18/2022
5 car 4/20/2022 240 red 50 2/18/2022
6 bus 2/24/2022 300 blue 120 2/18/2022
7 bus 2/24/2022 300 red 110 2/18/2022
8 bus 3/15/2022 300 blue 130 2/18/2022
9 bus 3/15/2022 300 red 140 2/18/2022
10 bus 4/20/2022 300 blue 80 2/18/2022
11 bus 4/20/2022 300 red 90 2/18/2022
12 car 2/24/2022 240 blue 60 2/17/2022
13 car 2/24/2022 240 red 40 2/17/2022
14 car 3/15/2022 240 blue 50 2/17/2022
15 car 3/15/2022 240 red 30 2/17/2022
16 car 4/20/2022 240 blue 70 2/17/2022
17 car 4/20/2022 240 red 45 2/17/2022
18 bus 2/24/2022 300 blue 130 2/17/2022
19 bus 2/24/2022 300 red 100 2/17/2022
20 bus 3/15/2022 300 blue 140 2/17/2022
21 bus 3/15/2022 300 red 120 2/17/2022
22 bus 4/20/2022 300 blue 90 2/17/2022
23 bus 4/20/2022 300 red 30 2/17/2022
从这个数据框中,我们有两辆车,三个预期日期,范围,两种颜色,折扣和日期。 我们必须找到折扣中的最小值和我们在折扣列中获得最小值的日期,分成两个新列,即 mindisc 列和 mindate,应该根据最新日期保存在新列中,这应该根据车辆过滤,expecteddate,range,color and date
我们必须在两个日期的折扣列中找到最小值(所有日期,因为我们有很多日期,不限于两个日期)2/18/2022,2/17/2022 基于相同的颜色、范围、预期日期和车辆
最后这个最小值添加到最晚日期的 mindisc 列和 min date 出现在最晚日期行的 minate 列的相应日期
输出应该是这样的
country expecteddate range color discount date mindisc mindate
0 car 2/24/2022 240 blue 70 2/18/2022 60 2/17/2022
1 car 2/24/2022 240 red 80 2/18/2022 40 2/17/2022
2 car 3/15/2022 240 blue 90 2/18/2022 50 2/17/2022
3 car 3/15/2022 240 red 60 2/18/2022 30 2/17/2022
4 car 4/20/2022 240 blue 40 2/18/2022 40 2/18/2022
5 car 4/20/2022 240 red 50 2/18/2022 45 2/17/2022
6 bus 2/24/2022 300 blue 120 2/18/2022 120 2/18/2022
7 bus 2/24/2022 300 red 110 2/18/2022 100 2/17/2022
8 bus 3/15/2022 300 blue 130 2/18/2022 130 2/18/2022
9 bus 3/15/2022 300 red 140 2/18/2022 120 2/17/2022
10 bus 4/20/2022 300 blue 80 2/18/2022 80 2/18/2022
11 bus 4/20/2022 300 red 90 2/18/2022 30 2/17/2022
12 car 2/24/2022 240 blue 60 2/17/2022
13 car 2/24/2022 240 red 40 2/17/2022
14 car 3/15/2022 240 blue 50 2/17/2022
15 car 3/15/2022 240 red 30 2/17/2022
16 car 4/20/2022 240 blue 70 2/17/2022
17 car 4/20/2022 240 red 45 2/17/2022
18 bus 2/24/2022 300 blue 130 2/17/2022
19 bus 2/24/2022 300 red 100 2/17/2022
20 bus 3/15/2022 300 blue 140 2/17/2022
21 bus 3/15/2022 300 red 120 2/17/2022
22 bus 4/20/2022 300 blue 90 2/17/2022
23 bus 4/20/2022 300 red 30 2/17/2022
车辆不限于汽车和公共汽车等两个,它有很多车辆,数据在车辆和范围列中的行并不总是相等,日期不限于两个日期
【问题讨论】:
-
关于“mindisc”和“mindate”这两个列,其他行的内容应该是什么?您希望 NaN 还是重复这些值?
-
剩余行的 Nan 值
-
那么新列不会和其他列有关系吗?我的意思是,新价值观是否以某种方式一致?如果它们与其行无关,是否可以使用不同的数据框?我试图了解如何确定新列的每个值的去向
-
我们有 2/18/22022,2/17/2022 日期,将 2/18/2022 视为最晚日期,当我们在 discout 列中找到 min 时,应添加数据到特定车辆的最新日期行,预期日期,范围,颜色,请阅读我在您的答案下方评论,例如,以便更好地理解问题
标签: python-3.x pandas