2024-05-21 01:22:36 发布
网友
放下columns[3]和columns[9:15]最快的方法是什么? (我只能使用df.drop方法分两步删除列)
columns[3]
columns[9:15]
df.drop
1 2 3 4 5 6 .. n A x x x x x x .. x B x x x x x x .. x C x x x x x x .. x
实际上,您可以在一个步骤中使用^{}。可以使用^{}组合多个索引和范围。下面是一个演示:
df = pd.DataFrame(np.random.random((3, 20))) print(df.columns) # RangeIndex(start=0, stop=20, step=1) res = df.drop(np.r_[3, 9:15], 1) print(res.columns) # Int64Index([0, 1, 2, 4, 5, 6, 7, 8, 15, 16, 17, 18, 19], dtype='int64')
使用简单的loc和isin
loc
isin
cols = df.columns.tolist() to_remove = cols[9:15] + [cols[3]] df.loc[:, ~df.columns.isin(to_remove)]
但是np.r_太好了,我会同意的;)
np.r_
使用方法如下:
>>> df A B C D 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 >>> df.drop(['B', 'C'], axis=1) A D 0 0 3 1 4 7 2 8 11
实际上,您可以在一个步骤中使用^{} 。可以使用^{} 组合多个索引和范围。下面是一个演示:
使用简单的
loc
和isin
但是
np.r_
太好了,我会同意的;)使用方法如下:
相关问题 更多 >
编程相关推荐