gpt4 book ai didi

python - 删除数据框中的列

转载 作者:太空狗 更新时间:2023-10-29 21:38:51 27 4
gpt4 key购买 nike

我正在使用 Python 2.7。我有一个包含 200 列的数据框,需要删除一些列。

我可以使用下面的命令删除最后 n 列。我该如何写才能删除前 10 列,然后是第 22 列,然后是第 26 列、倒数第 10 列和最后 5 列。全部放在一行中。

df2 = df.iloc[:, :-5]

最佳答案

使用np.r_ :

import numpy as np
df.drop(df.columns[np.r_[:10, 22, 26, -10, -5:0]], axis=1)

np.r_ 连接多个切片。例如,np.r_[1:3, 5, 7:9, -3:0] 返回 array([ 1, 2, 5, 7, 8, -3, - 2, -1])。您可以使用它来索引到 df.columns。对于 40 列的 DataFrame(名为 A1:A40),

df.columns[np.r_[:3, 5, 7:9, -2:0]]
Out: Index(['A1', 'A2', 'A3', 'A6', 'A8', 'A9', 'A39', 'A40'], dtype='object')

最后,由于它需要索引标签,您可以将其传递给 df.drop。生成的 DataFrame 将包含以下列:

df.drop(df.columns[np.r_[:3, 5, 7:9, -2:0]], axis=1).columns
Out:
Index(['A4', 'A5', 'A7', 'A10', 'A11', 'A12', 'A13', 'A14', 'A15', 'A16',
'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A24', 'A25', 'A26',
'A27', 'A28', 'A29', 'A30', 'A31', 'A32', 'A33', 'A34', 'A35', 'A36',
'A37', 'A38'],
dtype='object')

关于python - 删除数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43723550/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com