【发布时间】:2020-12-28 13:27:40
【问题描述】:
这是一个棘手的问题,我很长一段时间都在敲我的头。我有以下数据框。
dct = {'Store': ('A','A','A','A','A','A','B','B','B','C','C','C'),
'code_num':('INC101','INC102','INC103','INC104','INC105','INC106','INC201','INC202','INC203','INC301','INC302','INC303'),
'days':('4','18','9','15','3','6','10','5','3','1','8','5'),
'products': ('remote','antenna','remote, antenna','TV','display','TV','display, touchpad','speaker','Cell','display','speaker','antenna')
}
df = pd.DataFrame(dct)
pts = {'Primary': ('TV','TV','TV','Cell','Cell'),
'Related' :('remote','antenna','speaker','display','touchpad')
}
parts = pd.DataFrame(pts)
print(df)
Store code_num days products
0 A INC101 4 remote
1 A INC102 18 antenna
2 A INC103 9 remote, antenna
3 A INC104 15 TV
4 A INC105 3 display
5 A INC106 6 TV
6 B INC201 10 display, touchpad
7 B INC202 5 speaker
8 B INC203 3 Cell
9 C INC301 1 display
10 C INC302 8 speaker
11 C INC303 5 antenna
零件数据框仅供参考,我还有一段代码将提供相关零件的列表和每个商店的主要零件。
#For Store A -> TV : ['remote','antenna','speaker'] ;商店 B -> 单元格:['display','touchpad'] 我预期的数据框是:
Store code_num days products refer
0 A INC101 4 remote INC106
1 A INC102 18 antenna -> omitted in 1st pass; because >10 days
2 A INC103 9 remote, antenna INC106
3 A INC104 15 TV -> omitted in 1st pass; because >10 days
4 A INC105 3 display
5 A INC106 6 TV INC106
6 B INC201 10 display, touchpad INC203
7 B INC202 5 speaker
8 B INC203 3 Cell INC203
9 C INC301 1 display -> blank because no primary present
10 C INC302 8 speaker -> blank because no primary present
11 C INC303 5 antenna -> blank because no primary present
我的代码可以同时执行整个 df。但由于其他业务规则,这将是一段数据。这意味着 2 和 3 将被省略,因此某些记录的 .iloc 值可能不同。因此,如果您在 如果需要更多信息,请告诉我。 我知道这很复杂,实际上是一个脑筋急转弯。
【问题讨论】:
-
能否也提供零件数据框。
-
@Madan 已在上述问题中提供!参考“零件”数据框
标签: python pandas list dataframe pandas-groupby