这篇文章主要介绍怎么更改pandas dataframe中两列的位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
更改 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中两列的位置”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。