【问题标题】:Rename columns of excel using Pandas使用 Pandas 重命名 excel 的列
【发布时间】:2021-09-27 22:30:27
【问题描述】:
我正在学习 pandas 进行数据清理。我正在阅读一个如下所示的 excel 文件。
我要做的是重命名列名,例如 First Cost Q3 2020, First Cost Q4 2020, First Cost Q1 2021 等等。还有其他列名称“AUFC”、“First Cost Growth %” 等等。而且我还必须像“First Cost”一样制作。
我是熊猫新手,不知道如何重命名这样的列。谁能指导我?
【问题讨论】:
-
-
嗨!以下任何一个答案是否有效?如果是这样并且如果您愿意,您可以考虑accepting 其中之一向其他人发出问题已解决的信号。如果没有,您可以提供反馈,以便改进(或完全删除)
标签:
python
pandas
dataframe
【解决方案1】:
通过columns属性和map()方法试试:
df.columns=df.columns.map(' '.join)
现在,如果您打印 df 或 df.columns,您将获得预期的输出
【解决方案2】:
您可以使用以下方法重命名列名:
df.rename(columns = {'Q3 2020':'First Cost Q3 2020'}, inplace = True)
要更新所有列名,您可以这样做:
df.columns = ['First Cost Q3 2020', 'First Cost Q4 2020', 'First Cost Q1 2021']
【解决方案3】:
您可以通过添加参数header=[0,1]来读取具有多索引列的excel文件,如下所示(更好地描述here):
df = pd.read_excel(your_path,
header=[0,1],
sheetname=your_sheet_name)
然后按照here 的描述合并多索引:
df.columns = df.columns.map(' '.join).str.strip(' ')
【解决方案4】:
最简单的方法是如下分配所需的列名列表(必须是所有列):
df.columns = ['First Cost Q3 2020', 'First Cost Q4 2020', etc].
如果 Pandas 将此 excel 读取为多级列,您将需要做更多的工作。让我们知道是否是这种情况