假设我有一个像这样的DataFrame:
>>> df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['a','b','b'])
>>> df
a b b
0 1 2 3
1 4 5 6
2 7 8 9
Run Code Online (Sandbox Code Playgroud)
我想删除第二'b'列.如果我只使用del语句,它将删除两'b'列:
>>> del df['b']
>>> df
a
0 1
1 4
2 7
Run Code Online (Sandbox Code Playgroud)
我可以逐个选择列.iloc[]并重新分配DataFrame,但是如何只删除第二'b'列,例如通过索引?
df = df.drop(['b'], axis=1).join(df['b'].ix[:, 0:1])
>>> df
a b
0 1 2
1 4 5
2 7 8
Run Code Online (Sandbox Code Playgroud)
或者只是针对这种情况
df = df.ix[:, 0:2]
Run Code Online (Sandbox Code Playgroud)
但我认为还有其他更好的方法.
| 归档时间: |
|
| 查看次数: |
17610 次 |
| 最近记录: |