我有一个pandas.Dataframe对象,格式如下:
Symb Bid Ask
ESU6 207000 207025
YMU6 12793 12797
ESU6 207025 207050
YMU6 12795 12797
但我想重新配置对象看起来像以下格式:
Bid.ESU6 Ask.ESU6 Bid.YMU6 Ask.YMU6
207000 207025
12793 12797
207025 207050
12795 12797
有没有一种简单的方法来重新配置数据而没有遍历每个元素的for循环?
提前非常感谢你!
答案 0 :(得分:1)
您可以使用pivot_table
:
df1 = df.pivot_table(columns='Symb', values=['Bid','Ask'], index=df.index)
df1.sort_index(axis=1, level=1, inplace=True)
df1.columns = ['.'.join(col) for col in df1.columns]
df1.fillna('', inplace=True)
print (df1)
Bid.ESU6 Ask.ESU6 Bid.YMU6 Ask.YMU6
0 207000 207025
1 12793 12797
2 207025 207050
3 12795 12797