如何移除DataFrame中作为索引的time_hour列并生成目标DataFrame
解决方法
下面提供几种可行的方案,根据你的实际场景选择:
方案1:重置索引时直接丢弃原索引
如果time_hour是pivot后的DataFrame的索引,你之前调用reset_index()时没加drop=True参数,才导致索引被转为列。修改代码即可:
df_new = df_pivot.reset_index(drop=True)
这样会直接丢弃time_hour索引,不会将其转为列,生成的新DataFrame就不会包含该列。
方案2:直接删除多余列
如果已经得到包含time_hour列的DataFrame,直接用drop()方法移除就行:
df_new = df_with_time.drop('time_hour', axis=1) # 也可以原地修改(但不推荐,容易误改原数据) # df_with_time.drop('time_hour', axis=1, inplace=True)
方案3:pivot阶段直接避免生成该索引
如果你的pivot逻辑原本不需要把time_hour设为索引,可以调整pivot的参数,从源头避免后续处理:
# 示例:把其他字段设为索引,而非time_hour df_pivot = df.pivot(index='other_column', columns='target_column', values='value_column')
内容的提问来源于stack exchange,提问作者Sadcow
相关产品推荐
相关产品推荐

