慕田峪7331174
2022-06-07 16:30:33
我有一個(gè)我想“重新選擇”的數(shù)據(jù)框,因?yàn)闆]有更好的術(shù)語,使用索引。Column1 | Column2 | Column3 1 | 2 | 3 4 | 5 | 6Data | | Header | Header2 | Header3 7 | 8 | 9我想選擇這個(gè)數(shù)據(jù)框,但特別是在索引處4,0,它看起來像:Header | Header2 | Header3 7 | 8 | 9我知道我可以做類似的事情df.iloc[[4,5], [0,1,2]]但問題是我并不總是知道這個(gè)索引在每個(gè)數(shù)據(jù)幀中的位置,我將擁有的唯一信息是我想要開始的值的索引。
2 回答

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
對于未來的旅行者,我最終以一種有點(diǎn)奇怪的方式這樣做。首先,我得到了我感興趣的列:
columns = [x for x in df.iloc[4].values.flatten().tolist() if str(x) != 'nan']
然后我切片了我知道我需要的數(shù)據(jù):
data = df.iloc[5:, 0:2].values
最后創(chuàng)建了一個(gè)新的數(shù)據(jù)框:
df = pd.DataFrame(data, columns=columns)
在我設(shè)置列的地方,4
是列所在行的索引(我已經(jīng)知道的數(shù)字)。當(dāng)我設(shè)置數(shù)據(jù)時(shí),5:
表示第 5 行及以后的所有數(shù)據(jù)(因?yàn)槲也恢浪谀睦锝Y(jié)束),并且0:2
是第 1-3 列。
我不確定這是否是最好的方法,但它適用于我需要它做的事情。

四季花海
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
使用:
df[df["Column1"]=="Data"].index.item()
您將收到“數(shù)據(jù)”所在行的位置索引。從那里您可以使用 df.iloc 來定位您要查找的數(shù)據(jù)。
添加回答
舉報(bào)
0/150
提交
取消