Moo*_*osa 7 python slice python-2.7 pandas
我在使用Python 2.7.我有一个包含200列的数据框,需要删除一些.
我可以使用下面的内容删除最后n列.我如何写它,所以我可以删除前10个,然后是第22列,然后是26,从最后一个,第10个,最后5个.所有在一行中.
df2 = df.iloc[:, :-5]
Run Code Online (Sandbox Code Playgroud)
用途np.r_:
import numpy as np
df.drop(df.columns[np.r_[:10, 22, 26, -10, -5:0]], axis=1)
Run Code Online (Sandbox Code Playgroud)
np.r_连接多个切片.例如,np.r_[1:3, 5, 7:9, -3:0]退货array([ 1, 2, 5, 7, 8, -3, -2, -1]).您可以使用它来索引df.columns.对于40列(命名A1:A40)的DataFrame ,
df.columns[np.r_[:3, 5, 7:9, -2:0]]
Out: Index(['A1', 'A2', 'A3', 'A6', 'A8', 'A9', 'A39', 'A40'], dtype='object')
Run Code Online (Sandbox Code Playgroud)
最后,因为它需要索引标签,你可以传递给它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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1111 次 |
| 最近记录: |