【问题标题】:Importing Excel into Pandas with text in cell A1 - Transpose Problem将 Excel 导入 Pandas 并在单元格 A1 中包含文本 - 转置问题
【发布时间】:2019-02-19 18:08:00
【问题描述】:

如果我在单元格 A1 中使用 Excel 电子表格,如下所示:

然后将其带入 Pandas:

import pandas as pd
df = pd.read_excel("sessions.xlsx")

然后在我的 Jupyter 笔记本中它看起来像这样:

然后我执行转置:

df_t = df.T

然后给我这个:

我的问题是列标题包含作为索引的旧行号而不是“Mon”、“Tue”、“Wed”等,所以当我尝试处理列以更改格式等时我不能随意称呼他们。

在 pd.read_excel 中使用 header = None 没有帮助。

我可以先进入 Excel 电子表格,然后删除单元格 A1 的内容,然后它就可以工作了,但我想提高效率并放弃这个。

有什么建议可以防止这种情况发生吗?

【问题讨论】:

  • 无法想象问题。能否请您发布一些示例数据?
  • “旧城区编号”是指“转置前的行号”吗?
  • 通过指定索引列读取数据:df = pd.read_excel(filename, index_col=0)
  • Jason,是的,对不起镇 - 行,我已经编辑了原文。

标签: python excel pandas


【解决方案1】:

您可以将数据框从第二行开始复制到新的数据框中,并将列标题命名为转置后的数据框的第一行。

import pandas as pd

df = pd.read_excel("sessions.xlsx")
df_t = df.T

new_df = pd.DataFrame(df_t.values[1:], columns=df_t.iloc[0])

结果:

Sessions Mon Tue Wed Thu Fri Avg Max
0          1   2   3   4   5   6   7
1          1   2   3   4   5   6   7
2          1   2   3   4   5   6   7
3          1   2   3   4   5   6   7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多