dataframe 列名重新排序
在用list包含多个dict的模式生成dataframe时,由于dict的无序性,而uci很多数据的特征名直接是1,2,3...,生成的dataframe和原生的不一样,
为了方便观看和使用,我们将其列名排序:
有以下两种方法(都不包含y列的情况下):
1、(我的):
df.columns = df.columns.astype(int)
df.sort_index(axis=1,inplace=True)
先将列名从字符串转为int型,然后再对列名排序。
2、(网上看到的):
对于这样的数据: ['Q1.3','Q6.1','Q1.2','Q1.1',......]
要变为这样的: ['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]
df.reindex_axis(sorted(df.columns), axis=1)
这样的话,似乎对于字符串型数据也可以排序(但如果要解决我那个问题,也要先进行数据类型的转换)
最后,附上完整的从uci.txt文本数据类型转换为dataframe表格式的numerical类型代码:
X,y = [],[]
with open("ionosphere_scale.txt") as f:
lines = f.readlines()
for line in lines:
line = line.split()
y.append(line[0])
X.append({i.split(":")[0]:i.split(":")[1] for i in line[1:]}) df = pd.DataFrame(X,dtype="float")
n_feat = len(df.columns)
df.columns = df.columns.astype(int)
df.sort_index(axis=1,inplace=True)
df["y"] = np.array(y,dtype=float)
print(df.info())
df.to_excel("ionosphere_scale.xlsx",index=None)
最后,mark一篇关于数据类型转换的文章:https://vimsky.com/article/3694.html
dataframe 列名重新排序的更多相关文章
- pandas 修改 DataFrame 列名
问题: 有一个DataFrame,列名为:['$a', '$b', '$c', '$d', '$e'] 现需要改为:['a', 'b', 'c', 'd', 'e'] 有何办法? import pan ...
- Pandas——修改DataFrame列名
#生成一个数据框 import pandas as pd a = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]}) #直接修改:缺点必须写明每 ...
- 获取DataFrame列名的3种方法
df= pd.DataFrame({'a': range(10, 20), 'b': range(20, 30)}) df 1.链表推倒式 [column for column in df][a,b] ...
- datatable 列名重新排序
1. DataTable.Columns["MONEY"].SetOrdinal[4]; 2.dt = dt.DefaultView.ToTable(false, listarr. ...
- R dataframe 列名包含减号,列名自动变为点
d<- data.frame(x = c(0, 1)) d<- data.frame(d, y = c(0,1)) names(d)[2]<- "a.-5" d ...
- 大数据入门到精通11-spark dataframe 基础操作
// dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...
- R 语言的Dataframe常用操作
上节我们简单介绍了Dataframe的定义,这节我们具体来看一下Dataframe的操作 首先,数据框的创建函数为 data.frame( ),参考R语言的帮助文档,我们来了解一下data.frame ...
- 『Kaggle』分类任务_决策树&集成模型&DataFrame向量化操作
决策树这节中涉及到了很多pandas中的新的函数用法等,所以我单拿出来详细的理解一下这些pandas处理过程,进一步理解pandas背后的数据处理的手段原理. 决策树程序 数据载入 pd.read_c ...
- pandas基础(1)_Series和DataFrame
1:pandas简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标 ...
随机推荐
- 数据库系统概述(Data Model、DBMS、DBS、RDBS、Structured Query Language)
数据Data 描述事物的符号记录成为数据. 数据是数据库中存储的基本对象. 除了基本的数字之外.像图书的名称.价格.作者都可以称为数据. 将多种数据记录列成一张表.通过数据表管理数据. 每一行的数 ...
- Spring - Netty (整合)
写在前面 大家好,我是作者尼恩.目前和几个小伙伴一起,组织了一个高并发的实战社群[疯狂创客圈].正在开始 高并发.亿级流程的 IM 聊天程序 学习和实战,此文是: 疯狂创客圈 Java ...
- 深入理解Java内存模型之系列篇
深入理解Java内存模型(一)——基础 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来 ...
- Java HashMap工作原理及实现(转载)
https://yikun.github.io/2015/04/01/Java-HashMap工作原理及实现/
- 调用百度API将地名转为经纬度
最近做一道数据科学竞赛题,特征中有城市名和地名,需要转为经纬度来使用 故用python写了一个地名转经纬度的脚本,调用了百度地图的API,key在百度地图开放平台上申请 申请key的地方:http:/ ...
- DRF(4) - 认证、权限组件
一.引入 通过前面三节课的学习,我们已经详细了解了DRF提供的几个重要的工具,DRF充分利用了面向对象编程的思想,对Django的View类进行了继承,并封装了其as_view方法和dispatch方 ...
- Eclipse插件--一次copy多个文件的相对路径路径
因为工作需要, 在网上找了很多插件, 本来有个easyTools应该可以, 但下载文件好像没了. 只好自己动手搞了一个简单的, 暂时一个复制文件相对路径的功能, 有同样需求的童鞋, 可以试一下 plu ...
- FPGA电源设计
LDO(低压差线性稳压器),FPGA需要3.3V.2.5V和1.2V,可选用凌力尔特LINEAR:LT1083/84/85,低压差正压可调稳压器. 应用电路如图所示: 输入端加10UF电解电容,输出端 ...
- Web框架(Day64)
阅读目录 http协议 web应用与web框架 一.http协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World W ...
- Linux vim 操作技巧
·Linux设计的重要原则是信息存储在基于文本的文件中 文本文件:无格式文件,作用类似于win的注册表(etc下的配置文件,.conf或者无扩展名)可扩展标记语言(XML),文本标记定义数据结构(et ...