我有一个我想“重新选择”的数据框,因为没有更好的术语,使用索引。Column1 | Column2 | Column3 1 | 2 | 3 4 | 5 | 6Data | | Header | Header2 | Header3 7 | 8 | 9我想选择这个数据框,但特别是在索引处4,0,它看起来像:Header | Header2 | Header3 7 | 8 | 9我知道我可以做类似的事情df.iloc[[4,5], [0,1,2]]但问题是我并不总是知道这个索引在每个数据帧中的位置,我将拥有的唯一信息是我想要开始的值的索引。
2 回答

慕运维8079593
TA贡献1876条经验 获得超5个赞
对于未来的旅行者,我最终以一种有点奇怪的方式这样做。首先,我得到了我感兴趣的列:
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 列。
我不确定这是否是最好的方法,但它适用于我需要它做的事情。

四季花海
TA贡献1811条经验 获得超5个赞
使用:
df[df["Column1"]=="Data"].index.item()
您将收到“数据”所在行的位置索引。从那里您可以使用 df.iloc 来定位您要查找的数据。
添加回答
举报
0/150
提交
取消