将所有列放在熊猫中特定列(按名称)之前?

时间:2018-08-30 20:16:52

标签: python pandas

我找到了很多有关如何使用索引号删除列的答案。

我很困惑如何将所有列按名称放在特定列之后。

df = pd.DataFrame(columns=['A','B','C','D'])
df.drop(['B':],inplace=True)

我希望新的df仅包含A B列。

4 个答案:

答案 0 :(得分:4)

之后删除所有列与将所有列保留为包括该字段相同。所以:

In [321]: df = pd.DataFrame(columns=['A','B','C','D'])

In [322]: df = df.loc[:, :'B']

In [323]: df
Out[323]: 
Empty DataFrame
Columns: [A, B]
Index: []

(通常不值得使用inplace。)

答案 1 :(得分:1)

df.drop(df.columns[list(df.columns).index("B")+1:],inplace=True)

答案 2 :(得分:1)

get_lociloc

删除一些与选择其他相同。

df.iloc[:, :df.columns.get_loc('B') + 1]

Empty DataFrame
Columns: [A, B]
Index: []

答案 3 :(得分:0)

df = df [df.columns [:list(df.columns).index('B')+ 1]]

应该工作。