我试图根据列值重塑数据,然后转置数据框,以使列值组成为列标题。例如,我想去:
# Creating an illustrative dataframe:
import pandas as pd
import numpy as np
categories = np.repeat(list('abc'), 3)
data = np.arange(len(categories))
df = pd.DataFrame({'Data': data, 'Data2': data*2, 'Category': categories})
Data Data2 Category
0 0 0 a
1 1 2 a
2 2 4 a
3 3 6 b
4 4 8 b
5 5 10 b
6 6 12 c
7 7 14 c
8 8 16 c
外观如下:
a b c
0 0 3 6
1 1 4 7
2 2 5 8
我尝试过使用pd.DataFrame.pivot()
的方法:
[In]
df.pivot(columns='Category', values='Data')
[Out]
Category a b c
0 0.0 NaN NaN
1 1.0 NaN NaN
2 2.0 NaN NaN
3 NaN 3.0 NaN
4 NaN 4.0 NaN
5 NaN 5.0 NaN
6 NaN NaN 6.0
7 NaN NaN 7.0
8 NaN NaN 8.0
使用pd.DataFrame.pivot()
时是否有一种“忽略”索引的方法,还是有一种产生所需输出的替代方法?