【发布时间】:2019-10-06 22:04:18
【问题描述】:
我已经阅读了几个类似的问题及其答案,但我仍然无法执行转换。
这就是我的示例数据框df 的样子:
pd.DataFrame({0: ['Destiantion', 'Switch Location', 'Driver', 'Company'],
1: ['CALGARY', np.nan, 'BALJIT', 'SUPERIOR'],
2: ['CALGARY', np.nan, 'ROBERT', 'APPS'],
3: ['CALGARY', np.nan, 'MARIUS', 'APPS'],
4: ['DELTA', np.nan, np.nan, 'ATC']})
我想重新格式化它,使第 0 列 df[0] 中的值成为新的列标题,而新标题列的数据位于旧数据帧的同一行中。
预期结果:
pd.DataFrame({'Destiantion': ['CALGARY', 'CALGARY', 'CALGARY', 'DELTA'],
'Switch Location': [np.nan, np.nan, np.nan, np.nan],
'Driver': ['BALJIT', 'ROBERT', 'MARIUS', np.nan],
'Company': ['SUPERIOR', 'APPS', 'APPS', 'ATC']})
我研究了.pivot() 方法,但我无法使用它来塑造我想要的数据,我不确定索引值会是什么。我仍然可以通过将行转换为列表并从列表中提取标题并创建一个新的数据框来进行这种转换,但我觉得它不是很“pythonic”,我想知道是否有更好的方法可以使用现在和将来的。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
查看
pandas.transpose()