将Excel导入单元格A1中带有文本的Pandas-转置问题

时间:2019-02-19 18:08:01

标签: python excel pandas

如果我使用如下格式在单元格A1中使用文本的Excel电子表格:

Excel Spreadsheet

并通过以下方式将其带入熊猫

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

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

Jupyter PD

然后我执行移调:

df_t = df.T

然后给我这个:

Transposed PD

我的问题是列标题由旧行号组成,而不是“ Mon”,“ Tue”,“ Wed”等作为索引,所以当我尝试寻址列以更改格式时,我无法如我所愿地对他们讲话。

在pd.read_excel中使用header = None无济于事。

我可以先进入Excel电子表格,然后删除单元格A1的内容,然后该单元格将起作用,但是我想提高效率,并尝试执行此操作。

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

1 个答案:

答案 0 :(得分:0)

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

with open("01.txt", "w") as fh:
    fh.write("")

结果:

multiindexDF = pd.DataFrame([[1,2,3,3,4,4,4,4],[5,6,7,10,15,11,25,89]]).transpose()
multiindexDF.columns = ['theIndex','theValue']
multiindexDF['maxValuePerIndex'] = 0
uniqueIndicies = multiindexDF['theIndex'].unique()
for i in uniqueIndices:
    matchingIndices = multiindexDF['theIndex'] == i
    maxValue = multiindexDF[matchingIndices == i]['theValue'].max()
    multiindexDF.loc[matchingIndices]['maxValuePerIndex'] = maxValue