在pandas中一次性删除dataframe的多个列方法

之前沉迷于使用index删除,然而发现pandas貌似有bug?

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(12).reshape(3,4),
           columns=['A', 'B', 'C', 'D'])
x=[1,2]
df.drop(index=[1,2], axis=1, inplace=True) #axis=1,试图指定列,然并卵
print df

输出为

A B C D
0 0 1 2 3  还是按照行进行了删除

后来请教大神得知,可以用:

df.drop(df.columns[x], axis=1, inplace=True) 的方法。

即:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(12).reshape(3,4),
           columns=['A', 'B', 'C', 'D'])
x=[1,2]
df.drop(df.columns[x], axis=1, inplace=True)
print df

的方法删除。输出结果符合预期。

相关推荐