当前位置: 首页 > 知识库问答 >
问题:

如何在一张工作表中读取多个数据框和常用索引的excel

易瀚漠
2023-03-14

我有一本书。xlsx文件,包含多个数据帧,在一张工作表中具有公共索引。例如:

有什么好的方法来加载它并拥有两个独立的数据帧,一个是第一个数据帧,第二个是第二个数据帧,两者都具有与. xlsx文件中相同的索引?

结果是:

df1 = pd.DataFrame(data={'col1': [aa, aa, aa], 'col2': [bb, bb, bb], 'col3': [cc, cc, cc]}, index=[0,1,2])
df2 = pd.DataFrame(data={'col1': [dd, dd, dd], 'col2': [ee, ee, ee], 'col3': [ff, ff, ff]},index=[0,1,2])

共有2个答案

班经亘
2023-03-14

使用read\u excel
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html

云弘壮
2023-03-14

试试这样的

import pandas as pd

df0 = pd.read_excel('mybook.xlsx', header=[0,1])
df0.head()

产出:

    Unnamed: 0_level_0    firstdataframe          seconddataframe
           index        col1    col2    col3    col1    col2    col3
0              0          aa    bb        cc    dd      ee      ff
1              1          aa    bb        cc    dd      ee      ff
2              2          aa    bb        cc    dd      ee      ff

因此,multindex可能会有所帮助(头=[0,1]意味着第一行和第二行用作co索引

然后,

df1=df0.loc[:,'firstdataframe']
df1

输出

    col1    col2    col3
0     aa      bb    cc
1     aa      bb    cc
2     aa      bb    cc

然后,

df2=df0.loc[:,'seconddataframe']
df2

产出

    col1    col2    col3
0     dd      ee    ff
1     dd      ee    ff
2     dd      ee    ff

阅读https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html

 类似资料:
  • 刚开始使用熊猫和python。 我有一个工作表,我已经读到一个数据框和应用的正向填充(ffill)方法。 然后我想创建一个包含两个工作表的excel文档。 在应用FFIL方法之前,一个工作表的数据帧中包含数据,而下一个工作表的数据帧应用了FFIL方法。 最终,我打算为数据框的某一列中的每个唯一数据实例创建一个工作表。 然后我想应用一些vba格式的结果-但我不确定哪个dll或插件或东西,我需要调用e

  • 我可以知道如何从Katalon Studio的excel工作表中读取数据,以便从文件中读取APIendpoint以检查其输出吗? 如何用java编写代码来运行URL并验证来自APIendpoint的响应?

  • 我的数据工作表(“SH1”)在C列中显示带有索引号的信息。 例如1、2、3、4。 我有另一个工作表(“SH2”)来标识每个数字的含义。 例如 单元A1:1 单元B1:制造 这就是我所拥有的

  • 问题内容: 鉴于索引随着数据集的增加而变得非常重要,有人可以解释在数据库不可知的级别上索引是如何工作的吗? 问题答案: 为什么需要它? 当数据存储在基于磁盘的存储设备上时,它将作为数据块存储。完全访问这些块,使它们成为原子磁盘访问操作。磁盘块的结构与链接列表几乎相同。两者都包含一个数据节,一个指向下一个节点(或块)位置的指针,并且都不需要连续存储。 由于许多记录只能在一个字段上排序,因此我们可以说

  • 最初,我认为将一个多索引对象传递给。loc可以提取出我想要的值/级别,但这是行不通的。做这样的事情最好的方法是什么?

  • 问题内容: 我有一个具有多个列和行的数据框 df1 。简单的例子: 我想创建一个空的数据框 df2, 然后再添加带有计算结果的新列。 目前,我的代码如下所示: …添加两个新列: 有没有更好/更安全/更快的方法呢?是否可以创建一个空的数据帧df2并仅从df1复制索引? 问题答案: 这将创建一个没有列但只有一个索引的DataFrame,并且它将与df1中的索引相同。