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

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


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

最佳答案

对于未来的旅行者,我最终以某种奇怪的方式完成了此操作。首先,我得到了我感兴趣的专栏:

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列。

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

关于python - 从特定索引中重新选择Pandas数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58105383/

10-12 14:12
查看更多