我有一堆與不同組關聯的項目,我最終要爲每個組創建一個包含所有關聯項目的列表。在Python中動態創建列表
問題是我不知道有多少組,所以我該如何動態生成正確數量的列表以及如何調用它們?
我通過item_list
和group_list
,兩個不同的一系列彼此完美allign,如在item_list[item]
具有group_list[item]
這裏相應組循環是一些原始數據:
item list group list
A 1
B 1
C 2
D 1
E 2
F 1
G 2
H 2
I 1
J 2
這是我到目前爲止:
groups = []
for item in item_list:
groups.append(group_list[item])
# Get only unique values (instead of having groups 1,1,1,2,2 --> 1,2)
group_set = list(set(groups))
# Number of lists that need to be generated
len(group_set)
我想結束爲:
[IN]: print list_1:
[OUT]: ['A', 'B', 'D', 'F', 'I']
[IN]: print list_2:
[OUT]: ['C', 'E', 'G', 'H', 'J']
其中產生LIST_1和list_2因爲LEN(group_set)從我當前的代碼是等於2
我只是不知道如何動態地生成多個列表,並把每個項目在適當的列表中。
任何意見/指導,非常感謝......
你有沒有看着[組](HTTP ://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.groups.html#pandas.core.groupby.GroupBy.groups)?你最終還想做什麼? – EdChum
在這個例子中,如果我們假設我有組1和組2,我希望能夠創建一個包含組1中關聯的所有項目的列表,以及包含組2中關聯項目的另一個列表。但是,如何針對n組?我會調查你提供的這個鏈接,謝謝。 – ploo
好吧,你可以像'df.groupby(col)[other_col] .apply(lambda x:list(x))那樣做' – EdChum