Я пытаюсь преобразовать set
, но получаю исключение. Transform отлично работает с «суммой» и многими другими агрегатными функциями, но не с set
или list
.
>>> import pandas as pd
>>> df = pd.DataFrame({"a":[1,2,1,], "b":[1,1,2]})
>>> df
a b
0 1 1
1 2 1
2 1 2
>>> df.groupby("a").b.transform(set)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/avloss/conda/lib/python3.7/site-packages/pandas/core/groupby/generic.py", line 1032, in transform
s = klass(res, indexer)
File "/Users/avloss/conda/lib/python3.7/site-packages/pandas/core/series.py", line 282, in __init__
"{0!r} type is unordered" "".format(data.__class__.__name__)
TypeError: 'set' type is unordered
То, что я ожидал, было:
a b
0 1 {1, 2}
1 2 {1}
2 1 {1, 2}