我找到了很多有关如何使用索引号删除列的答案。
我很困惑如何将所有列按名称放在特定列之后。
df = pd.DataFrame(columns=['A','B','C','D'])
df.drop(['B':],inplace=True)
我希望新的df
仅包含A B
列。
答案 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_loc
和iloc
删除一些与选择其他相同。
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]]
应该工作。