[英]Group by - Dataframe with lists
我需要一些關於 Pandas 的幫助。
我有一個 Dataframe 我想按 ID 列分組(到目前為止有效)。 標簽列可以包含具有不同數量元素的列表,也可以包含空列表。
g = data_lemmatized.groupby('ID')['Tags'].apply(lambda x: list(np.unique(x)))
這是原來的dataframe:
使用我使用的代碼,我收到以下結果:
我想在新的 dataframe 中擁有的是:
- 一個列表,里面沒有子列表,只有元素或為空
- 列表中沒有重復項(每個分組列表的集合)
例子:
0 -> []
1 -> []
2 -> [DTU]
有人能幫助我嗎?
試試這個代碼。
import pandas as pd
data_lemmatized = pd.DataFrame({"ID":[0, 1, 2, 2, 2],
"Tags": [[], [], ['DTU'], [], []]})
data_lemmatized.groupby('ID')['Tags'].sum().apply(set).apply(list)
在這里,列表總和返回列表的串聯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.