首页 > 解决方案 > 使用 unstack 指定列名

问题描述

我在 Excel 中有一个非常广泛的数据库,我正试图将其拆分为 DF。

数据如下所示:

Date_1      Date_2     Date_3...   ...Date_n
A1          B1         C1           N1
A2          B2         C2           N2
A3          B3         C3           N3
A4          B4         C4           N4

我要拍摄的输出添加了一些列名,并且是一个如下所示的数据框:

     Dates      Data
  0  Date_1     A1
  1             A2
  2             A3
  3             A4
  4  Date_2     B1
  ...  ....       ...
  N  Date_N     N1 etc

我的想法是,然后我可以连接这两列并将它们用作唯一标识符以将此数据框与其他列合并

我在这里尝试了两种不同的 unstack 变体,但都没有成功。第一遍看起来像这样

df = pd.read_Excel('DataFile.xls', sheet_name = 'Data').unstack()

这里的输出是

Date_1    0    A1
          1    A2
          ...  ...
Date_N    N    N1 etc

所以它接近我正在寻找的内容,除了(a)我的数据没有任何列标题;(b) 我在输出中间有一系列 (0,1,...N) 。我认为这可能是索引,但我不确定它为什么会放在这里。

希望多于预期,然后我尝试通过以下方式命名列

df = pd.read_Excel('DataFile.xls', sheet_name = 'Data', names = ['Dates', 'Data').unstack()

当它不起作用时我并不感到惊讶......我收到了错误消息:

ValueError:传递的名称数与文件中的标头字段数不匹配

所以现在我被困住了,非常感谢一些智慧!

先感谢您

标签: pythonpandas

解决方案


推荐阅读