我正在尝试根据规则重命名“熊猫”列。它们最初是Excel文档中的合并单元格。我已将文件导入熊猫,现在未命名几列。我希望根据它们左侧的列对其进行重命名。例如。

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

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

提前致谢。

最佳答案

请遵循Ed的建议,不要假名。话虽如此,这将为您提供一种可能的方式来解决您的问题,您可以进一步调整它:

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: []

10-01 05:28