我试图对pandas数据框进行分组,使其保持键为索引,但不包括每个组中的键。
以下是我所说的内容的示例。
原始数据框
ungrouped_df = pd.DataFrame({'col1':['A','A','B','C','C','C'], 'col2':[8,5,1,4,1,2], 'col3':[7,4,2,1,2,1],'col4':[1,8,0,2,0,0]})
输出:
| index | col1 | col2 | col3 | col4 |
|-------|------|------|------|------|
| 1 | A | 8 | 7 | 1 |
| 2 | A | 5 | 4 | 8 |
| 3 | B | 1 | 2 | 0 |
| 4 | C | 4 | 1 | 2 |
| 5 | C | 1 | 2 | 0 |
| 6 | C | 2 | 1 | 0 |
现在,我想从已分组的数据框中创建一个numpy数组
grouped_df = ungrouped_df.groupby(by='col1', group_keys=False).apply(np.asarray)
这是我得到的结果
| index | col1 |
|-------|-------------------------------------------|
| A | [[A, 8, 7, 1],[A, 5, 4, 8],[A, 8, 7, 1]] |
| B | [[B, 1, 2, 0]] |
| C | [[C, 4, 1, 2], [C, 1, 2, 0], [C, 2, 1, 0]]|
- 这是我想要的结果
out:
| index | col1 |
|-------|----------------------------------|
| A | [[8, 7, 1],[5, 4, 8],[8, 7, 1]] |
| B | [[1, 2, 0]] |
| C | [[4, 1, 2], [1, 2, 0], [2, 1, 0]]|
我需要一些建议,因为我有点迷茫。我以为 "group_keys=False" 就可以解决问题,但似乎不行。非常感谢您的帮助。
谢谢。