1. 程式人生 > 程式設計 >Pandas中DataFrame交換列順序的方法實現

Pandas中DataFrame交換列順序的方法實現

一、獲取DataFrame列標籤

import pandas as pd 
file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv' 
dataset = pd.read_csv(file_path)
cols = list(dataset)

['ps_state-stopped','ps_state-running','ps_state-blocked','ps_state-paging','ps_state-sleeping','ps_state-zombies','fork_rate','cpu-2-system','cpu-2-nice','cpu-2-steal',...]

二、改變列標籤為指定順序

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'
 
dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0,cols.pop(cols.index('ps_state-running')))
print(cols)

這裡改變第一列和第二列的位置順序,用到了python list中的兩個方法

insert方法:

1.功能
insert()函式用於將指定物件插入列表的指定位置。
2.語法
list.insert(index,obj)
3.引數
index: 物件obj需要插入的索引位置。
obj: 插入列表中的物件。
pop() 函式用於移除列表中的一個元素(預設最後一個元素),並且返回該元素的值

三、利用loc獲取新的DataFrame,拷貝交換順序後的DataFrame

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'
 
dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0,cols.pop(cols.index('ps_state-running')))
print(cols)
data = dataset.loc[:,cols]

四、儲存csv覆蓋原來的csv

import pandas as pd
 
file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'

dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0,cols]
data.to_csv(file_path,index=False)

五、也可以這樣

import pandas as pd
 
file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'
 
dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0,cols.pop(cols.index('ps_state-running')))
print(cols)
dataset.loc[:,['ps_state-running','ps_state-stopped']] = dataset[['ps_state-stopped','ps_state-running']].values
dataset.columns = cols
dataset.to_csv(file_path,index=False)

到此這篇關於Pandas中DataFrame交換列順序的方法實現的文章就介紹到這了,更多相關Pandas DataFrame交換列順序內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!