如何更改 pandas dataframe 中两列的位置

yipeiwu_com6年前Python基础

如何更改 pandas dataframe 中两列的位置:

把其中的某列移到第一列的位置。

原来的 df 是:

df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01.csv')
               Net  Upper  Lower Mid Zsore
Answer option                        
More than once a day     0%  0.22% -0.12%  2  65 
Once a day          0%  0.32% -0.19%  3  45
Several times a week     2%  2.45%  1.10%  4  78
Once a week          1%  1.63% -0.40%  6  65

要将 Mid 这一列移动到第一列?

                 Mid  Upper  Lower Net Zsore
Answer option                        
More than once a day     2  0.22% -0.12%  0%  65 
Once a day          3  0.32% -0.19%  0%  45
Several times a week     4  2.45%  1.10%  2%  78
Once a week          6  1.63% -0.40%  1%  65

解决办法:(使用 ix )

法一:

In [27]:
# get a list of columns
cols = list(df)
# move the column to head of list using index, pop and insert
cols.insert(0, cols.pop(cols.index('Mid')))
cols
Out[27]:
['Mid', 'Net', 'Upper', 'Lower', 'Zsore']
In [28]:
# use ix to reorder
df = df.ix[:, cols]
df
Out[28]:
           Mid Net Upper  Lower Zsore
Answer_option                   
More_than_once_a_day  2 0% 0.22% -0.12%   65
Once_a_day       3 0% 0.32% -0.19%   45
Several_times_a_week  4 2% 2.45%  1.10%   78
Once_a_week       6 1% 1.63% -0.40%   65

法二:

In [39]:
mid = df['Mid']
df.drop(labels=['Mid'], axis=1,inplace = True)
df.insert(0, 'Mid', mid)
df
Out[39]:
           Mid Net Upper  Lower Zsore
Answer_option                   
More_than_once_a_day  2 0% 0.22% -0.12%   65
Once_a_day       3 0% 0.32% -0.19%   45
Several_times_a_week  4 2% 2.45%  1.10%   78
Once_a_week       6 1% 1.63% -0.40%   65

#### full data
df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01.csv')
def func(x):
  return str(x['time_stamp'])+str(x['user_id'])
df['session_id'] = df.apply(func, axis=1)
del df['time_stamp']

sessionID=df['session_id']
df.drop(labels=['session_id'],axis=1,inplace=True)
df.insert(0,'session_id',sessionID)
df.to_csv('I:/Papers/consumer/codeandpaper/TmallData/result02.csv')

最终的处理结果:

以上这篇如何更改 pandas dataframe 中两列的位置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Pyhton中的requests包进行网页访问测试的方法

利用Pyhton中的requests包进行网页访问测试的方法

为了测试一组网页是否能够访问,采取python中的requests包进行批量的访问测试,并输出访问结果。 一、requests包的安装 打开命令行(win+r输入cmd启动); 打开p...

python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

一、为什么要安装虚拟环境     情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸...

跟老齐学Python之类的细节

这几天和几个朋友以各种途径讨论过OOP的相关问题,他们是:令狐虫、Frank、晋剑、小冯 大家对OOP有不同看法,所谓工程派和学院派看法不一致。从应用的角度看,工程派的观点是值得推荐的,...

在Python程序中操作MySQL的基本方法

在Python程序中操作MySQL的基本方法

Python操作Mysql 最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysql数据库。我python也是零基础学起,所以...

列举Python中吸引人的一些特性

这里我不讨论 python 的一些有用的库或者框架,只从语言本身,最小支持的情况下谈论这门语言本身。语言的发展都是越来越接近Lisp,这也是Lisp这门语言伟大的原因。 下面我罗列一下我...