为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕田峪7331174 2022-06-07 16:30:33
我有一个我想“重新选择”的数据框,因为没有更好的术语,使用索引。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 列。

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


查看完整回答
反对 回复 2022-06-07
?
四季花海

TA贡献1811条经验 获得超5个赞

使用:

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

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


查看完整回答
反对 回复 2022-06-07
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号