为了账号安全,请及时绑定邮箱和手机立即绑定

对列进行子集化并重新排序

对列进行子集化并重新排序

潇湘沐 2023-08-08 17:45:33
我想对列重新排序并选择我想要的列。例如,如果列名称为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]]


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信