我已经阅读了几个类似的问题及其答案,但仍然无法执行转换。
我的示例数据帧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]
成为新的列标题,并且新标题列的数据驻留在旧dataframe的同一行中。你知道吗
预期结果:
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”的方法,我想知道是否有更好的方法可以在现在和将来使用。任何帮助都将不胜感激。谢谢。你知道吗
用途:
或者如果列的名称是str:
相关问题 更多 >
编程相关推荐