我想對列重新排序并選擇我想要的列。例如,如果列名稱為A、B、C和D。我知道簡單的方法是:# Pythondf = df[['D', 'C', 'A', 'B']]但是,如果有多個列,比如一百多個變量,這種方法就很糟糕了。我找到了這個問題的答案。# Pythoncols_to_order = ['D', 'C']new_columns = cols_to_order + (df.columns.drop(cols_to_order).tolist())df= df[new_columns]但上面的做法并不是很靈活。在 中R,使用subset()是同時對列進行重新排序和子集化的不錯選擇。# Rdf = subset(df, select = c(4, 3 , 1, 2))如果列很多,我們還可以使用subset()重新排序和刪除:# R# Multiple columns# Drop columns 51 to 54df = subset(df, select = c(4, 3 , 1:2, 5:50, 55:100))有類似的功能嗎Python?
1 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
你有 numpynp.r_
作為 python 相當于索引和切片對象連接的子集。與 類似subset(df, select = c(4, 3 , 1:2, 5:50, 55:100))
,你可以這樣做:
df.iloc[:, np.r_[4, 3, 1:2, 5:50, 55:100]]
添加回答
舉報
0/150
提交
取消