我正在尝试根据规则重命名“熊猫”列。它们最初是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: []