In [3]: import pandas as pd
In [4]: data = {'a': [1, 1, 1, 2, 2], 'b': [2, 4, 3, 5, 6]}
In [5]: df = pd.DataFrame(data)
In [6]: for _, sub_df in df.groupby('a'):
...: print(sub_df)
...:
a b
0 1 2
1 1 4
2 1 3
a b
3 2 5
4 2 6
Есть ли эффективный способ сделать это в PyArrow? Скажем, я начну с
В pandas я могу перебирать группы в groupby: [code]In [3]: import pandas as pd
In [4]: data = {'a': [1, 1, 1, 2, 2], 'b': [2, 4, 3, 5, 6]}
In [5]: df = pd.DataFrame(data)
In [6]: for _, sub_df in df.groupby('a'): ...: print(sub_df) ...: a b 0 1 2 1 1 4 2 1 3 a b 3 2 5 4 2 6 [/code] Есть ли эффективный способ сделать это в PyArrow? Скажем, я начну с [code]tbl = pa.table(data) [/code] Все, что я могу предложить, это: [code]In [16]: for x in pc.unique(tbl['a']): ...: print(tbl.filter(pc.equal(tbl['a'], x))) ...: pyarrow.Table a: int64 b: int64 ---- a: [[1,1,1]] b: [[2,4,3]] pyarrow.Table a: int64 b: int64 ---- a: [[2,2]] b: [[5,6]] [/code] но это требует многократного сканирования всего столбца 'a'... есть ли более эффективный способ?