У меня есть DataFrame с 1 столбцом, который содержит элемент списка, и 1 столбец с целым числом. Я хотел бы сгруппировать все списки, которые имеют хотя бы один общий элемент, а затем агрегировать другой столбец. < /P>
import pandas as pd
import json
import networkx as nx
data = {'lot': [['6309025'],
['6309025', '6375538', '6375540'],
['6410558'], ['6314113']],
'count': [1, 2, 3, 3]}
df = pd.DataFrame(data)
df['id'] = df.index
df = df.explode('lot')
G = nx.from_pandas_edgelist(df, 'lot', 'id')
l = list(nx.connected_components(G))
L = [dict.fromkeys(y, x) for x, y in enumerate(l)]
d = {k: v for d in L for k, v in d.items()}
s = df.groupby(df.id.map(d)).lot.apply(set)
< /code>
Я использовал решение из этого вопроса. Тем не менее, я не могу найти способ агрегировать столбец count
У меня есть DataFrame с 1 столбцом, который содержит элемент списка, и 1 столбец с целым числом. Я хотел бы сгруппировать все списки, которые имеют хотя бы один общий элемент, а затем агрегировать другой столбец. < /P> [code]import pandas as pd import json import networkx as nx
L = [dict.fromkeys(y, x) for x, y in enumerate(l)]
d = {k: v for d in L for k, v in d.items()}
s = df.groupby(df.id.map(d)).lot.apply(set) < /code> Я использовал решение из этого вопроса. Тем не менее, я не могу найти способ агрегировать столбец count [/code]. Ожидаемый вывод: [code] lot count 0 {6309025, 6410558, 6375540, 6375538} 3 1 {6410558} 3 2 {6314113} 3 [/code] Есть мысли?
У меня есть фрейм данных с 1 столбцом, содержащим элемент списка, и 1 столбцом с целым числом. Я хотел бы сгруппировать все списки, которые имеют хотя бы один общий элемент, а затем объединить другой столбец.
import pandas as pd
import json
import...