我有以下格式的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/

10-12 22:02