我有一个我想使用索引“重新选择”的数据框,因为缺少更好的术语。
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/