当前位置: 首页 > 编程笔记 >

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

漆雕宏浚
2023-03-14
本文向大家介绍如何更改 pandas dataframe 中两列的位置,包括了如何更改 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 中两列的位置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我想在程序获取某些特殊单词的同时,实时地绘制它们。所以我写了一段很好的代码,但是我仍然不能用键盘上的移动键改变指针的位置,并从我移动的位置开始输入文字。谁能给我一个提示,怎么做?这是代码: 问题答案: 轻松做到 正如您似乎已经在使用该模块一样,最简单易行的光标定位方式应该是使用相应的ANSI控件序列(请参阅:http : //en.m.wikipedia.org/wiki/ANSI_e

  • 我正在使用jsPlumb开发一个应用程序。目前,如果我创建一个形状,它会将该形状放在画布的左上角。如果我从源点连接到目标点,它就工作了。 现在,我想在右键单击并从源连接到目标的位置创建形状。我能够在右键单击的位置创建形状。 但是,如果我从一个源拖动到另一个目标,源锚点就不是从源开始的。相反,它从左上角开始。在下面的屏幕截图中,我想从“项目”拖到“无状态”形状。 还有一件事是,如果我拖动“项目”形状

  • 问题内容: 目前我在下面安装了rvm 如何将rvm移到该位置? 我尝试使用rvmrc文件来解决此问题(根据此处的rvm文档:https ://rvm.io/workflow/rvmrc/ ),但是没有运气,我在下面找到了一个文件 我可以遵循任何分步说明吗? 问题答案: 通过在线研究找出自己,希望这可以帮助某人: 假设您要从移至 更新您或更新为: 找到您的under ,如果找不到,创建一个并在其中添

  • 我开始学gradle了。然而,当我与格拉德尔一起打造Spring;它将依赖项jar下载到 有没有办法指定Gradle将依赖项jar下载到特定位置?就像我可以在Maven中指定存储库位置一样。 系统信息:Windows 7 64位Gradle 1.0版

  • 好的,事情是这样的。目前,我正在使用这个: 这正是我所需要的。它创建一个下拉菜单,允许用户选择石头、布或剪刀,然后将其输出到一个字符串中。问题是,它弹出的窗口真的很小,而且在屏幕的中央。我想将它重新调整为970像素乘以300像素,并出现在950像素和0像素的位置。 现在,在你说之前,我已经尝试过使用JFrame来实现这个功能,因为我知道如何获得它的大小和位置。然而,我无法让ActionListen

  • 我显示字幕与exoPlayer在我的Android应用程序。现在我想改变字幕的位置从屏幕的底部到顶部。我尝试或到子标题View,但没有工作。可以改变字幕在屏幕上的位置吗?如果你的答案是肯定的,怎么做?