我有一个像这样的大型数据框:
|type| qt | vol|
|----|---- | -- |
| A | 1 | 10 |
| A | 2 | 12 |
| A | 1 | 12 |
| B | 3 | 11 |
| B | 4 | 20 |
| B | 4 | 20 |
| C | 4 | 20 |
| C | 4 | 20 |
| C | 4 | 20 |
| C | 4 | 20 |
如何水平分组转置数据框?
|A. |B. |C. |
|--------------|--------------|--------------|
|type| qt | vol|type| qt | vol|type| qt | vol|
|----|----| ---|----|----| ---|----|----| ---|
| A | 1 | 10 | B | 3 | 11 | C | 4 | 20 |
| A | 2 | 12 | B | 4 | 20 | C | 4 | 20 |
| A | 1 | 12 | B | 4 | 20 | C | 4 | 20 |
| C | 4 | 20 |
df.set_index([df['type'].values, df.groupby('type').cumcount()]).unstack(0).swaplevel(0,1, axis=1).sort_index(level=0, axis=1)
是可行的,尽管Shubnam提供了更好的解决方案。 - Scott Bostondf['Type'].values
,以避免后来重命名索引 :) - Shubham Sharma