我有以下格式的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循环?
提前非常感谢您!
最佳答案
您可以使用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
关于python - 制作一个新的pandas.dataframe列作为已过滤的其他列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38204322/