什么是Python/pandas相当于这个R代码重新排列数据帧的列?

HMK*_*HMK 4 python numpy pandas

data<-data[c(8,1:7)]
Run Code Online (Sandbox Code Playgroud)

基本上,将最后一列移动到第一个位置.如何仅使用列索引在Python中执行此操作,最好是在一行中?

piR*_*red 6

use numpy.r_
这是为了允许R类似于数组切片的语法.因此r_

假设您的数据框已命名 df

import numpy as np
import pandas as pd

df = df.iloc[:, np.r_[8, 1:7]]
Run Code Online (Sandbox Code Playgroud)


Psi*_*dom 5

你可以使用.iloc[]:

data = data.iloc[:, [7] + list(range(7))]
Run Code Online (Sandbox Code Playgroud)

要么: data = data[[7] + list(range(7))]


请记住这一点

  • 在python索引中为零,而R是一个基于;
  • 当python使用list时,R使用向量进行索引.