7

假设我有一个这样的 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'列,例如按索引?

4

1 回答 1

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]

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

于 2013-11-14T09:57:54.947 回答