Pandas中DataFrame交换列顺序的方法实现

一、获取DataFrame列标签

import pandas as pd
file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'
dataset = pd.read_csv(file_path)
cols = list(dataset)

['ps_state-stopped', 'ps_state-running', 'ps_state-blocked', 'ps_state-paging', 'ps_state-sleeping', 'ps_state-zombies', 'fork_rate', 'cpu-2-system', 'cpu-2-nice', 'cpu-2-steal',...]

二、改变列标签为指定顺序

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'

dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0, cols.pop(cols.index('ps_state-running')))
print(cols)

这里改变第一列和第二列的位置顺序,用到了python list中的两个方法

insert方法:
1.功能
insert()函数用于将指定对象插入列表的指定位置。
2.语法
list.insert(index, obj)
3.参数
index: 对象obj需要插入的索引位置。
obj: 插入列表中的对象。
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

三、利用loc获取新的DataFrame,拷贝交换顺序后的DataFrame

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'

dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0, cols.pop(cols.index('ps_state-running')))
print(cols)
data = dataset.loc[:, cols]

四、保存csv覆盖原来的csv

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'

dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0, cols.pop(cols.index('ps_state-running')))
print(cols)
data = dataset.loc[:, cols]
data.to_csv(file_path, index=False)

五、也可以这样

import pandas as pd

file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv'

dataset = pd.read_csv(file_path)
cols = list(dataset)
print(cols)
cols.insert(0, cols.pop(cols.index('ps_state-running')))
print(cols)
dataset.loc[:, ['ps_state-running', 'ps_state-stopped']] = dataset[['ps_state-stopped', 'ps_state-running']].values
dataset.columns = cols
dataset.to_csv(file_path, index=False)

到此这篇关于Pandas中DataFrame交换列顺序的方法实现的文章就介绍到这了,更多相关Pandas DataFrame交换列顺序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pandas中的DataFrame按指定顺序输出所有列的方法

    问题: 输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致. 例如: import pandas as pd grades = [48,99,75,80,42,80,72,68,36,78] df = pd.DataFrame( {'ID': ["x%d" % r for r in range(10)], 'Gender' : ['F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'],

  • Python pandas.DataFrame调整列顺序及修改index名的方法

    1. 从字典创建DataFrame >>> import pandas >>> dict_a = {'user_id':['webbang','webbang','webbang'],'book_id':['3713327','4074636','26873486'],'rating':['4','4','4'],'mark_date':['2017-03-07','2017-03-07','2017-03-07']} >>> df = pandas.

  • Pandas中DataFrame交换列顺序的方法实现

    一.获取DataFrame列标签 import pandas as pd file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv' dataset = pd.read_csv(file_path) cols = list(dataset) ['ps_state-stopped', 'ps_state-running', 'ps_state-blocked', 'ps_stat

  • pandas中提取DataFrame某些列的一些方法

    目录 前言 方法一:df[columns] 方法二:df.loc[]:用 label (行名或列名)做索引. 方法三:df.iloc[]: i 表示 integer,用 integer location(行或列的整数位置,从0开始)做索引. 补充:提取所有列名中包含“线索”.“浏览”字段的列 参考: 总结 前言 在处理表格型数据时,一行数据是一个 sample,列就是待提取的特征.怎么选取其中的一些列呢?本文分享一些方法. 使用如下的数据作为例子: import pandas as pd dat

  • 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆.下面举例对这些切片方法进行说明. 数据介绍 先随机生成一组数据: In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_3 = [random.randrange(1,20) for x in xrange(1

  • pandas中DataFrame重置索引的几种方法

    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取.插入等. 小笔总结了以下几种重置索引的方法: import pandas as pd import numpy as np df = pd.DataFrame(np.arange(20).reshape((5, 4)),columns=['a', 'b', 'c', 'd']) #得到df: a b c d 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 4 16 17 1

  • python pandas中DataFrame类型数据操作函数的方法

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几

  • 浅谈pandas中DataFrame关于显示值省略的解决方法

    python的pandas库是一个非常好的工具,里面的DataFrame更是常用且好用,最近是越用越觉得设计的漂亮,pandas的很多细节设计的都非常好,有待使用过程中发掘. 好了,发完感慨,说一下最近DataFrame遇到的一个细节: 在使用DataFrame中有时候会遇到表格中的value显示不完全,像下面这样: In: import pandas as pd longString = u'''真正的科学家应当是个幻想家:谁不是幻想家,谁就只能把自己称为实践家.人生的磨难是很多的, 所以我们

  • pandas将DataFrame的列变成行索引的方法

    pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面. 1.DataFrame的set_index方法 data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])

  • 对Python中DataFrame按照行遍历的方法

    在做分类模型时候,需要在DataFrame中按照行获取数据以便于进行训练和测试. import pandas as pd dict=[[1,2,3,4,5,6],[2,3,4,5,6,7],[3,4,5,6,7,8],[4,5,6,7,8,9],[5,6,7,8,9,10]] data=pd.DataFrame(dict) print(data) for indexs in data.index: print(data.loc[indexs].values[0:-1]) 实验结果: /usr/b

  • Pandas 对Dataframe结构排序的实现方法

    Dataframe结构放在numpy来看应该是二维矩阵的形式,每一列是一个特征,上面会有个列标题,每一行是一个样本. 对Dataframe结构的某一列进行排序方法如下: # 对df表中的user_id这一列进行排序,默认是从小到大排 df = df.sort_index(by='user_id') 对多列进行排序方法如下: # 对user_id,sku_id这两列进行排序 df = df.sort_index(by=['user_id', 'sku_id']) 以上这篇Pandas 对Dataf

  • 基于DataFrame改变列类型的方法

    今天用numpy 的linalg.det()求矩阵的逆的过程中出现了一个错误: TypeError: No loop matching the specified signature and casting was found for ufunc det 查了半天发现是数据类型的问题,numpy在算逆的时候会先检查一下数据类型是否一致,若不一致就会报错(话说这个错误提示信息也太难理解了,还得看源码o(╯□╰)o). 由于我的数据是用pandas.DataFrame读取的,所以每一列的数据类型有可

随机推荐