基于规则的列重命名pandas

我试图根据规则重新命名pandas列。 他们最初是在excel文档中合并的单元格。 我已经将文件导入pandas,现在有几列未命名。 我希望根据左侧的列重新命名它们。 例如。

'ID' 'Name' 'Volts' 'Unnamed: 4' 'Upstream' 'Unnamed: 6' 'Unnamed: 7' 'Unnamed: 8'

我想以自动的方式将4重命名为伏特,6 7和8重命名为上游,以便所有未命名的列将最后一个标题放在其左侧。 这可能吗?

提前致谢。

请按照埃德的build议,而不是愚弄的名字。 也就是说,这将给你一个可能的方法来处理你的问题,你可以进一步调整:

 s = df.columns.to_series() s Out[27]: ID ID Name Name Volts Volts Unnamed:4 Unnamed:4 Upstream Upstream Unnamed:6 Unnamed:6 Unnamed:7 Unnamed:7 Unnamed:8 Unnamed:8 dtype: object s[df.columns.str.contains('Unnamed')] = np.nan s.ffill() Out[29]: ID ID Name Name Volts Volts Unnamed:4 Volts Upstream Upstream Unnamed:6 Upstream Unnamed:7 Upstream Unnamed:8 Upstream dtype: object df.columns = s.ffill() df Out[31]: Empty DataFrame Columns: [ID, Name, Volts, Volts, Upstream, Upstream, Upstream, Upstream] Index: []