【发布时间】:2021-09-06 17:33:06
【问题描述】:
有一个小数据框(groupby 中的一个组,但与这个问题并不真正相关),排序后看起来像这样:
df = pd.DataFrame([['a', 'b', 'c'], [1,2,2], [1,3,3]]).T
df.columns = ['name', 'sorter1', 'sorter2']
sorted_df = df.sort_values(['sorter1', 'sorter2'])
| name | sorter1 | sorter2 | |
|---|---|---|---|
| 0 | a | 1 | 1 |
| 1 | b | 2 | 3 |
| 2 | c | 2 | 3 |
想要将其转移到第一、第二和第三位的数据框中, 明白了:
result = sorted_df[['name']].T
result.columns = ['first', 'second', 'third']
| first | second | third | |
|---|---|---|---|
| name | a | b | c |
但我真正需要的是:
| first | second | third | |
|---|---|---|---|
| name | a | ['b', 'c'] | nan |
欢迎任何想法,熊猫或其他,谢谢。
【问题讨论】: