Pandas按索引删除列

时间:2013-11-14 09:06:34

标签: python pandas

假设我有一个像这样的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

我想删除第二个'b'列。如果我只使用del语句,则会删除'b'列:

>>> del df['b']
>>> df
   a
0  1
1  4
2  7

我可以使用.iloc[]逐列选择并重新分配DataFrame,但如何只删除第二个'b'列,例如按索引?

1 个答案:

答案 0 :(得分:6)

df = df.drop(['b'], axis=1).join(df['b'].ix[:, 0:1])

>>> df
   a  b
0  1  2
1  4  5
2  7  8

或仅针对此案例

df = df.ix[:, 0:2]

但我认为还有其他更好的方法。

相关问题