【python】【pandas】dataframe把某一列放到第一列,或者把某一列插入到某位置
1、用pd.concat()函数和df.drop(columns=first_col)函数来实现:
import pandas as pd# 创建一个示例DataFramedata = {'Name': ['Tom', 'Nick', 'John', 'Peter'], 'Age': [28, 32, 25, 35], 'Salary': [5000, 4500, 6000, 4000]}df = pd.DataFrame(data)# 将 'Age' 列移动到第一列first_col = 'Age'df = pd.concat([df[first_col], df.drop(columns=first_col)], axis=1)print(df)
输出结果:
Age Name Salary0 28 Tom 50001 32 Nick 45002 25 John 60003 35 Peter 4000
在上述代码中,我们首先选择要移动到第一列的列名(这里选择了'Age'列)。然后,我们使用pd.concat()
函数将选定的列与剩余的列连接起来,其中axis=1
表示按列进行连接。df.drop(columns=first_col)
将删除原始DataFrame中选定的列,以便在连接时只保留选定的列。
2、用插入法 df.insert()函数来实现某列移动到第一列,这个函数还能够把某列移动到任意位置:
import pandas as pd# 创建一个示例DataFramedata = {'Name': ['Tom', 'Nick', 'John', 'Peter'], 'Age': [28, 32, 25, 35], 'Salary': [5000, 4500, 6000, 4000]}df = pd.DataFrame(data)# 将 'Age' 列移动到第一列col = df.pop('Age')df.insert(loc= 0 , column= 'Age', value= col)print(df)
输出结果一样的:
Age Name Salary0 28 Tom 50001 32 Nick 45002 25 John 60003 35 Peter 4000
上述代码将'Age'列从DataFrame中弹出(移除),并将其赋值给变量col
。
df.pop('Age')
操作会从DataFrame中删除'Age'列,并返回这一列的数据作为Series对象。
接下来,df.insert(loc=0, column='Age', value=col)
将刚刚弹出的'Age'列插入到DataFrame的第一列位置。loc=0
表示插入的位置为第一列,column='Age'
指定列名为'Age',value=col
表示插入的数据为之前弹出的'Age'列的数据。
另外,修改上面的loc可以把列插入到任意位置哦,就不多介绍了。
来源地址:https://blog.csdn.net/Good_Hope/article/details/131016052
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341