从特定索引中重新选择 Pandas 数据框

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


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]]

但问题是我并不总是知道这个索引在每个数据帧中的位置,我将拥有的唯一信息是我想要开始的值的索引。


慕田峪7331174
浏览 120回答 2
2回答

慕运维8079593

对于未来的旅行者,我最终以一种有点奇怪的方式这样做。首先,我得到了我感兴趣的列: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 行及以后的所有数据(因为我不知道它在哪里结束),并且0:2是第 1-3 列。我不确定这是否是最好的方法,但它适用于我需要它做的事情。

四季花海

使用:df[df["Column1"]=="Data"].index.item()您将收到“数据”所在行的位置索引。从那里您可以使用 df.iloc 来定位您要查找的数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python