勵志

勵志人生知識庫

pandas重排列

Pandas中,重排列數據框的列有多種方法。以下是一些常用的方法:

使用loc索引器:可以通過傳入一個列序列表給loc索引器來重新排列列順序。例如,`df = df[['col3','col1','col2']]` 這將把'col3'列置於第一列,'col1'列置於第二列,'col2'列置於第三列。

使用iloc整數位置選擇器:和loc索引器類似,可以傳入一個列位置整數列表給iloc來重排列列順序。例如,`df = df.iloc[:, ` 這將第三列提到第一列,第一列移到第二列,第二列移到第三列。

使用reindex方法:可以傳入一個列組成的列表給df.reindex來重排列列順序。例如,`df = df.reindex(columns=['col3','col1','col2'])`。

使用take方法:df.take可以根據傳入的列位置整數列表重新排序列。例如,`df = df.take(, axis=1)` 這將第三列提到第一列,第一列移到第二列,第二列移到第三列。

直接對columns屬性重新賦值:也可以直接改變df.columns來重新調整列順序。例如,`df = df[['col3','col1','col2']]` 然後 `df.columns = ['col3','col1','col2']`。

使用reset_index函式:這個函式主要用於重置數據框的索引,而不是用於重排列列的順序。

需要注意的是,reindex()方法和take()方法不會更改原始數據框的順序,而是返回一個重新排序的副本,因此你需要將其分配回原始數據框或將其分配給另一個新的數據框變數。