Python 从特定索引中重新选择数据帧

Python 从特定索引中重新选择数据帧,python,pandas,Python,Pandas,我有一个数据帧,我想“重新选择”,因为没有更好的术语,使用索引 Column1 | Column2 | Column3 1 | 2 | 3 4 | 5 | 6 Data | | Header | Header2 | Header3 7 | 8 | 9 我想选择这个数据帧,但特别是在索引4,0处,这样它看起来像: Header | Header2 | Header3 7

我有一个数据帧,我想“重新选择”,因为没有更好的术语,使用索引

Column1 | Column2 | Column3
   1    |    2    |    3
   4    |    5    |    6
Data    |         |  
Header  | Header2 | Header3
   7    |    8    |    9
我想选择这个数据帧,但特别是在索引
4,0
处,这样它看起来像:

Header  | Header2 | Header3
   7    |    8    |    9
我知道我可以做像这样的事情

df.iloc[[4,5], [0,1,2]]
但问题是,我并不总是知道该索引在每个数据帧中的位置,我唯一拥有的信息是我希望从中开始的值的索引。

使用:

df[df["Column1"]=="Data"].index.item()
您将收到“数据”所在行位置的索引。从那里,您可以使用df.iloc来定位您要查找的数据。

使用:

df[df["Column1"]=="Data"].index.item()

您将收到“数据”所在行位置的索引。在那里,您可以使用df.iloc来定位您要查找的数据。

对于未来的旅行者,我最终以一种有点奇怪的方式完成了这项工作。首先,我得到了我感兴趣的专栏:

columns = [x for x in df.iloc[4].values.flatten().tolist() if str(x) != 'nan']
然后我将我知道需要的数据切片:

data = df.iloc[5:, 0:2].values
最后创建了一个新的数据帧:

df = pd.DataFrame(data, columns=columns)
在我设置列的地方,
4
是列所在行的索引(我已经知道的数字)。当我设置数据时,
5:
表示第5行和第5行以外的所有数据(因为我不知道它在哪里结束),而
0:2
是第1-3列


我不确定这是否是最好的方法,但它能满足我的需要。

对于未来的旅行者,我最终以一种有点奇怪的方式完成了这项工作。首先,我得到了我感兴趣的专栏:

columns = [x for x in df.iloc[4].values.flatten().tolist() if str(x) != 'nan']
然后我将我知道需要的数据切片:

data = df.iloc[5:, 0:2].values
最后创建了一个新的数据帧:

df = pd.DataFrame(data, columns=columns)
在我设置列的地方,
4
是列所在行的索引(我已经知道的数字)。当我设置数据时,
5:
表示第5行和第5行以外的所有数据(因为我不知道它在哪里结束),而
0:2
是第1-3列


我不确定这是否是最好的方法,但它适用于我需要它做的事情。

虽然这可以获得索引,但我已经有了索引。我需要从现有的数据框架中创建一个新的数据框架,以及新的列。虽然这样做可以获得索引,但我已经有了索引。我需要从现有的数据框中创建一个新的数据框,以及新的列。