List tuple 类型转成数组
SKlearning大部分的输入数据都是M * N数组.
然而我们从数据库或文件读取得来的通常是Python内定的类型tuple或list
它们的优势就不说了,但是直接把list或tuple构成的二维数组传入scikit是会出问题的.
如:
DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.
DeprecationWarning)
下面贴上如何把list/tuple转为scikit使用的array
首先, 准备数据如下:

读取一行数据变为一维数组
conn = sql.connect('result_sale.db')
conn.text_factory = str
dataSet = conn.execute('select * from sampleData')
tpRows = dataSet.fetchone()
conn.close()
print type(tpRows)
print tpRows
lstRows = list(tpRows)
aryRows1 = np.array(lstRows) # 转成数组
#aryRows2 = np.array(lstRows).reshape(1, -1) # 转成1行N列 (二维数组)
#aryRows3 = np.array(lstRows).reshape(-1, 1) # 转成N行1列 (二维数组)
print lstRows
print aryRows1
输入如下: 请留意输入的不同点 :)
('00', '01', '02', '03', '04', '05', '06', '07', '08') (tuple)
['00', '01', '02', '03', '04', '05', '06', '07', '08'] (list)
['00' '01' '02' '03' '04' '05' '06' '07' '08'] (array)
Process finished with exit code 0
一次性转换整个数据集
conn = sql.connect('result_sale.db')
conn.text_factory = str
dataSet = conn.execute('select * from sampleData')
tpRows = dataSet.fetchall()
conn.close()
aryRows1 = np.array(tpRows) # 转成数组
#aryRows2 = np.array(tpRows).reshape(1, -1) # 转成1行N列 (二维数组)
#aryRows3 = np.array(tpRows).reshape(-1, 1) # 转成N行1列 (二维数组)
print aryRows1
#print aryRows2
#print aryRows3
输入如下:
[['00' '01' '02' '03' '04' '05' '06' '07' '08']
['10' '11' '12' '13' '14' '15' '16' '17' '18']
['20' '21' '22' '23' '24' '25' '26' '27' '28']
['30' '31' '32' '33' '34' '35' '36' '37' '38']
['40' '41' '42' '43' '44' '45' '46' '47' '48']
['50' '51' '52' '53' '54' '55' '56' '57' '58']
['60' '61' '62' '63' '64' '65' '66' '67' '68']
['70' '71' '72' '73' '74' '75' '76' '77' '78']
['80' '81' '82' '83' '84' '85' '86' '87' '88']] Process finished with exit code 0
逐条纪录转换, 可以用下标来引用数组
conn = sql.connect('result_sale.db')
conn.text_factory = str
dataSet = conn.execute('select * from sampleData')
tpRows = dataSet.fetchall()
conn.close()
#aryRows = np.zeros([len(tpRows), len(tpRows[0])])
aryRows = np.ones_like(tpRows) #亦可使用 empty, empty_like, zeros, zeros_like 等方法
j=0
for row in tpRows:
aryRows[j][:] = row
j += 1
print aryRows
输入如下:
[['00' '01' '02' '03' '04' '05' '06' '07' '08']
['10' '11' '12' '13' '14' '15' '16' '17' '18']
['20' '21' '22' '23' '24' '25' '26' '27' '28']
['30' '31' '32' '33' '34' '35' '36' '37' '38']
['40' '41' '42' '43' '44' '45' '46' '47' '48']
['50' '51' '52' '53' '54' '55' '56' '57' '58']
['60' '61' '62' '63' '64' '65' '66' '67' '68']
['70' '71' '72' '73' '74' '75' '76' '77' '78']
['80' '81' '82' '83' '84' '85' '86' '87' '88']] Process finished with exit code 0
List tuple 类型转成数组的更多相关文章
- PHP将对象转换成数组的方法(兼容多维数组类型)
/** * @author gayayang * @date 2012-8-21 * @todo 将对象转换成数组 * @param unknown_type $obj * @return unkno ...
- python学习第五天 List和tuple类型介绍及其List切片
List 和tuple: python提供一种类似C语言数组的类型,但是使用起来确是相当的简洁.那就讲讲这神奇的python中list 和tuple吧. List类型: 1.直接贴代码: L = [' ...
- 从jquery源码中看类型判断和数组的一些操作
在深入看jquery源码中,大家会发现源码写的相当巧妙.那我今天也通过几个源码中用到的技巧来抛砖引玉,希望大家能共同研究源码之精华,不要囫囵吞枣. 1.将类数组转化成数组 我想大家首先想到的方法是fo ...
- oracle根据分隔符将字符串分割成数组函数
--创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type myty ...
- 黄聪:PHP字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、切割成数组等)
一.字符串替换 str_replace("iwind", "kiki", "i love iwind, iwind said"); 将输出 ...
- 将COleDateTime类型数据转换成char *数据
用OpenCV做多摄像头校准时间,在图像上显示时间信息,需求要将COleDateTime类型数据转换成char *数据 具体代码如下: 1: COleDateTime m_checkDate; 2: ...
- Yii Active Record 查询结果转化成数组
使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型的,有时候为了数据处理的方便希望能够转成数组返回.比如下面的方法: // 查找满足指定条件的结果中的第一行 $ ...
- js 判断是否为数组的方式 及 类数组转换成数组格式
1. 判断是否为数组的通用方式 Object.prototype.toString.call(o)=='[object Array]' 其他方式: typeof , instanceof, ary ...
- .net 4.0 中的特性总结(四):Tuple类型
Tuple是具有指定数量和顺序的值的一种数据结构.针对这种数据结构,.Net4.0中提供了一组Tuple类型,具体如下: Tuple Tuple<T> Tuple<T1, T ...
随机推荐
- WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前跟信息采集相关的一个项目提出了这样的一个需求:中国银行等 ...
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
在OpenCV2:图像的几何变换,平移.镜像.缩放.旋转(1)主要介绍了图像变换中的向前映射.向后映射.处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜 ...
- 企业 SOA 设计(1)–ESB 设计
最近为公司完成了一个 ESB 的设计.下面简要说明一下具体的设计方案. 企业 SOA 整体方案 在前一篇<SOA.ESB.NServiceBus.云计算 总结>中说到,SOA 是面向服 ...
- hostingEnvironment与宿主环境
定义用来控制应用程序宿主环境的行为的配置设置. 配置如下 <hostingEnvironment idleTimeout="HH:MM:SS" shadowCopyBinAs ...
- CRM(四川网脉系统)项目总结
CRM系统(四川网脉系统)项目总结 为期八天的四川网脉系统(CRM系统)项目结束了,不管是在做这个项目的过程中还是答辩的过程中都有一些收获,下面对整个项目的开发做一个大致的总结. 一.项目概况 四川网 ...
- Linux 定时任务crontab
crontab定时任务格式 1 * * * * * command 2 第1列表示分钟1-59 每分钟用*或者 */1表示 3 第2列表示小时1-23(0表示0点) 4 第3列表示日期1-31 5 第 ...
- JMeter专题系列(二)录制脚本
环境 Badboy version 2.1.1 JDK: 1.7.0_67 Apache JMeter-2.11 ----------------------------------------- ...
- JavaScript的几种Math函数,random(),ceil(),round(),floor()
1.Math.random():返回 0 ~ 1 之间的随机数.2.Math.ceil():返回值:返回大于或等于x,并且与之最接近的整数(如果x是正数,则把小数"入":如果x是负 ...
- 关于在线编辑器的选择:tinymce - nilcms
一开始使用的是百度开发的编辑器:ueditor.使用方便,很容易就部署了.现在发现此编辑器也就做一些安全性的更新,而且对于这个编辑器也越来越不喜欢了. 1.臃肿.[1.4.3.3 PHP 版本].下载 ...
- Mysql(Mariadb) 基础操作语句 (持续更新)
基础SQL语句,记录以备查阅.(在HeiDiSql中执行) # 创建数据库 Create Database If Not Exists VerifyIdear Character Set UTF8; ...