2024-09-28 22:29:43 发布
网友
假设我有一个pandas DF,列名为'a'、'B'、'C'
A B C a1 b11 c11 a1 b12 c12 a2 b21 c21 a2 b22 c22
我可以按“A”分组,但我能得到吗
没有任何聚合?希望顺序(b11在b12之前)保持在原始表中。在
In [46]: df.groupby('A').agg(lambda g: dict([(k,g[k].tolist()) for k in g])) Out[46]: B C A a1 ['b11', 'b12'] ['c11', 'c12'] a2 ['b21', 'b22'] ['c21', 'c22']
我不知道怎么做你想要的,但也许这已经足够接近了:
In [23]: df = pd.DataFrame({'A' : ['a1', 'a1', 'a2', 'a2'], 'B' : ['b11', 'b12', 'b21', 'b22'], 'C' : ['c11', 'c12', 'c21', 'c22']}) In [24]: grpA = df.groupby('A') In [25]: a1 = grpA.get_group('a1')
然后我得到:
同时:
In [39]: import numpy as np In [40]: np.array(a1.B) Out[40]: array([b11, b12], dtype=object)
最后:
In [41]: grpdA.get_group('a1').B.tolist() # leave off `.tolist()` to get a series Out[41]: ['b11', 'b12']
希望有帮助。在
我不知道怎么做你想要的,但也许这已经足够接近了:
然后我得到:
^{pr2}$同时:
最后:
希望有帮助。在
相关问题 更多 >
编程相关推荐