Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拉出python中2d数组的第2,3列_Python_Arrays_Numpy_Multidimensional Array - Fatal编程技术网

拉出python中2d数组的第2,3列

拉出python中2d数组的第2,3列,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,大家好,我有一个二维数组,我想创建一个只有列2,3的新二维数组 这是我的密码 #!/user # -*- coding: utf-8 -*- import csv import urllib2 import numpy as np url = 'https://api.bmreports.com/BMRS/FUELINST/v1?APIKey=66ky5jo5p5w0vbd&ServiceType=CSV' url2 = 'https://api.bmreports.com/BMR

大家好,我有一个二维数组,我想创建一个只有列2,3的新二维数组

这是我的密码

#!/user
# -*- coding: utf-8 -*-

import csv
import urllib2
import numpy as np


url = 'https://api.bmreports.com/BMRS/FUELINST/v1?APIKey=66ky5jo5p5w0vbd&ServiceType=CSV'
url2 = 'https://api.bmreports.com/BMRS/FUELINSTHHCUR/v1?APIKey=66ky5jo5p5w0vbd&ServiceType=CSV'
response = urllib2.urlopen(url2)
cr = csv.reader(response)


arr = np.genfromtxt(response,delimiter=",", skip_header=1, skip_footer=2,dtype=None)

data = arr[:, [1:2]]


print data
所以数据是这样回来的

[('FUELINSTHHCUR', 'CCGT', 10430, 35.8, 10282, 35.2, 205996, 32. )
 ('FUELINSTHHCUR', 'OCGT',     0,  0. ,     0,  0. ,     17,  0. )
 ('FUELINSTHHCUR', 'OIL',     0,  0. ,     0,  0. ,      0,  0. )
 ('FUELINSTHHCUR', 'COAL',     0,  0. ,     0,  0. ,      0,  0. )
 ('FUELINSTHHCUR', 'NUCLEAR',  6963, 23.9,  6970, 23.9, 167591, 26. )
 ('FUELINSTHHCUR', 'WIND',  6986, 24. ,  7061, 24.2, 160036, 24.9)
 ('FUELINSTHHCUR', 'PS',   297,  1. ,   412,  1.4,   8136,  1.3)
 ('FUELINSTHHCUR', 'NPSHYD',   322,  1.1,   319,  1.1,   8015,  1.2)
 ('FUELINSTHHCUR', 'OTHER',   129,  0.4,   128,  0.4,   3093,  0.5)
 ('FUELINSTHHCUR', 'INTFR',  1494,  5.1,  1494,  5.1,  31731,  4.9)
 ('FUELINSTHHCUR', 'INTIRL',     0,  0. ,     0,  0. ,   2650,  0.4)
 ('FUELINSTHHCUR', 'INTNED',   882,  3. ,   880,  3. ,  18991,  2.9)
 ('FUELINSTHHCUR', 'INTEW',     0,  0. ,     0,  0. ,      0,  0. )
 ('FUELINSTHHCUR', 'BIOMASS',  1608,  5.5,  1630,  5.6,  37688,  5.9)]
我正在尝试创建一个新的2d数组,它只返回列,所以看起来像这样

[('CCGT', 10430)
 ('OCGT',     0)
 ('OIL',     0)
 ('COAL',     0)
 ('NUCLEAR',  6963)
 ('WIND',  6986)
 ('PS',   297)
 ('NPSHYD',   322)
 ('OTHER',   129)
 ('INTFR',  1494)
 ('INTIRL',     0)
 ('INTNED',   882)
 ('INTEW',     0)
 ('BIOMASS',  1608)]

首先,您需要使用Numpy数组来保存项目而不是列表,然后您可以将列表中的列索引传递到第二个轴以获得所需的结果:

data = arr[:, [2, 3]]
或者像下面这样切片:

data = arr[:, 2:4]
此外,如果您正在读取的字符串格式正确,而不是使用
csv
你可以用
函数加载数据。

如果您查看此代码示例,它可能会对您有所帮助

它假设您收集的第一个值是numpy数组中的单个字符串……因此每行都包含逗号和带引号的元素,但它们都嵌入到单个元素中

变量'lst'是一个列表,用于单步遍历所有数组元素,并创建多维列表,其中包含逗号分隔的元素作为单个字符串

变量“tmp”是由新解析的“lst”构造的numpy数组

var'data'是来自'tmp'的切片numpy数组,其中只包含您要查找的列

希望这有助于

import numpy as np def ElementSplit(x) : return x.split(",") ElementSplit = np.vectorize(ElementSplit) arr = np.array([["'FUELINSTHHCUR', 'CCGT', 10430, 35.8, 10282, 35.2, 205996, 32. "], ["'FUELINSTHHCUR', 'OCGT', 0, 0. , 0, 0. , 17, 0. "], [" 'FUELINSTHHCUR', 'OIL', 0, 0. , 0, 0. , 0, 0. "], [" 'FUELINSTHHCUR', 'COAL', 0, 0. , 0, 0. , 0, 0. "], [" 'FUELINSTHHCUR', 'NUCLEAR', 6963, 23.9, 6970, 23.9, 167591, 26. "], [" 'FUELINSTHHCUR', 'WIND', 6986, 24. , 7061, 24.2, 160036, 24.9"], [" 'FUELINSTHHCUR', 'PS', 297, 1. , 412, 1.4, 8136, 1.3"], [" 'FUELINSTHHCUR', 'NPSHYD', 322, 1.1, 319, 1.1, 8015, 1.2"], [" 'FUELINSTHHCUR', 'OTHER', 129, 0.4, 128, 0.4, 3093, 0.5"], [" 'FUELINSTHHCUR', 'INTFR', 1494, 5.1, 1494, 5.1, 31731, 4.9"], [" 'FUELINSTHHCUR', 'INTIRL', 0, 0. , 0, 0. , 2650, 0.4"], [" 'FUELINSTHHCUR', 'INTNED', 882, 3. , 880, 3. , 18991, 2.9"], [" 'FUELINSTHHCUR', 'INTEW', 0, 0. , 0, 0. , 0, 0. "], [" 'FUELINSTHHCUR', 'BIOMASS', 1608, 5.5, 1630, 5.6, 37688, 5.9"]]) print " --arr--" print arr lst = [] for items in arr: lst.append(items[0].split(", ")) print " --lst--" print lst exit #data = arr[:] tmp = np.array(lst) print " --tmp--" print tmp data = tmp[:,[1,2]] print " --data--" print data 将numpy作为np导入 def ElementSplit(x):返回x.split(“,”) ElementSplit=np.矢量化(ElementSplit) arr=np.数组([[“'FUELINSTHHCUR','CCGT',1043035.810282,35.2205996,32.”, [“'FUELINSTHHCUR','OCGT',0,0,0,0,17,0.”, [“'FUELINSTHHCUR'、'OIL',0,0,0,0,0,0.”, [“'FUELINSTHHCUR'、'COAL',0,0,0,0,0,0.”, [“‘FUELINSTHHCUR’、‘NUCLEAR’、6963、23.9、6970、23.9、167591、26。”, [“'FUELINSTHHCUR'、'WIND',6986,24,7061,24.2,160036,24.9”], [“'FUELINSTHHCUR','PS',297,1,412,1.4,8136,1.3”], [“'FUELINSTHHCUR','NPSHYD',322,1.1319,1.18015,1.2”], [“'FUELINSTHHCUR'、'OTHER',129,0.4128,0.43093,0.5”], [“'FUELINSTHHCUR','INTFR',1494,5.1,1494,5.1,31731,4.9”], [“'FUELINSTHHCUR','INTIRL',0,0,0,0,2650,0.4”], [“'FUELINSTHHCUR','INTNED',882,3,880,3,18991,2.9”], [“'FUELINSTHHCUR','INTEW',0,0,0,0,0,0.”, [“‘FUELINSTHHCUR’、‘Biomatical’、1608、5.51630、5.637688、5.9”]) 打印--arr--” 打印arr lst=[] 对于arr中的项目: lst.append(项[0]。拆分(“,”) 打印--lst--” 打印lst 出口 #数据=arr[:] tmp=np.数组(lst) 打印--tmp--” 打印tmp 数据=tmp[:,[1,2]] “打印”--数据--” 打印数据 输出结果如下所示

$python main.py --arr-- [["'FUELINSTHHCUR', 'CCGT', 10430, 35.8, 10282, 35.2, 205996, 32. "] ["'FUELINSTHHCUR', 'OCGT', 0, 0. , 0, 0. , 17, 0. "] [" 'FUELINSTHHCUR', 'OIL', 0, 0. , 0, 0. , 0, 0. "] [" 'FUELINSTHHCUR', 'COAL', 0, 0. , 0, 0. , 0, 0. "] [" 'FUELINSTHHCUR', 'NUCLEAR', 6963, 23.9, 6970, 23.9, 167591, 26. "] [" 'FUELINSTHHCUR', 'WIND', 6986, 24. , 7061, 24.2, 160036, 24.9"] [" 'FUELINSTHHCUR', 'PS', 297, 1. , 412, 1.4, 8136, 1.3"] [" 'FUELINSTHHCUR', 'NPSHYD', 322, 1.1, 319, 1.1, 8015, 1.2"] [" 'FUELINSTHHCUR', 'OTHER', 129, 0.4, 128, 0.4, 3093, 0.5"] [" 'FUELINSTHHCUR', 'INTFR', 1494, 5.1, 1494, 5.1, 31731, 4.9"] [" 'FUELINSTHHCUR', 'INTIRL', 0, 0. , 0, 0. , 2650, 0.4"] [" 'FUELINSTHHCUR', 'INTNED', 882, 3. , 880, 3. , 18991, 2.9"] [" 'FUELINSTHHCUR', 'INTEW', 0, 0. , 0, 0. , 0, 0. "] [" 'FUELINSTHHCUR', 'BIOMASS', 1608, 5.5, 1630, 5.6, 37688, 5.9"]] --lst-- [["'FUELINSTHHCUR'", "'CCGT'", '10430', '35.8', '10282', '35.2', '205996', '32. '], ["'FUELINSTHHCUR'", "'OCGT'", ' 0', ' 0. ', ' 0', ' 0. ', ' 17', ' 0. '], [" 'FUELINSTHHCUR'", "'OIL'", ' 0', ' 0. ', ' 0', ' 0. ', ' 0', ' 0. '], [" 'FUELINSTHHCUR'", "'COAL'", ' 0', ' 0. ', ' 0', ' 0. ', ' 0', ' 0. '], [" 'FUELINSTHHCUR'", "'NUCLEAR'", ' 6963', '23.9', ' 6970', '23.9', '167591', '26. '], [" 'FUELINSTHHCUR'", "'WIND'", ' 6986', '24. ', ' 7061', '24.2', '160036', '24.9'], [" 'FUELINSTHHCUR'", "'PS'", ' 297', ' 1. ', ' 412', ' 1.4', ' 8136', ' 1.3'], [" 'FUELINSTHHCUR'", "'NPSHYD'", ' 322', ' 1.1', ' 319', ' 1.1', ' 8015', ' 1.2'], [" 'FUELINSTHHCUR'", "'OTHER'", ' 129', ' 0.4', ' 128', ' 0.4', ' 3093', ' 0.5'], [" 'FUELINSTHHCUR'", "'INTFR'", ' 1494', ' 5.1', ' 1494', ' 5.1', ' 31731', ' 4.9'], [" 'FUELINSTHHCUR'", "'INTIRL'", ' 0', ' 0. ', ' 0', ' 0. ', ' 2650', ' 0.4'], [" 'FUELINSTHHCUR'", "'INTNED'", ' 882', ' 3. ', ' 880', ' 3. ', ' 18991', ' 2.9'], [" 'FUELINSTHHCUR'", "'INTEW'", ' 0', ' 0. ', ' 0', ' 0. ', ' 0', ' 0. '], [" 'FUELINSTHHCUR'", "'BIOMASS'", ' 1608', ' 5.5', ' 1630', ' 5.6', ' 37688', ' 5.9']] --tmp-- [["'FUELINSTHHCUR'" "'CCGT'" '10430' '35.8' '10282' '35.2' '205996' '32. '] ["'FUELINSTHHCUR'" "'OCGT'" ' 0' ' 0. ' ' 0' ' 0. ' ' 17' ' 0. '] [" 'FUELINSTHHCUR'" "'OIL'" ' 0' ' 0. ' ' 0' ' 0. ' ' 0' ' 0. '] [" 'FUELINSTHHCUR'" "'COAL'" ' 0' ' 0. ' ' 0' ' 0. ' ' 0' ' 0. '] [" 'FUELINSTHHCUR'" "'NUCLEAR'" ' 6963' '23.9' ' 6970' '23.9' '167591' '26. '] [" 'FUELINSTHHCUR'" "'WIND'" ' 6986' '24. ' ' 7061' '24.2' '160036' '24.9'] [" 'FUELINSTHHCUR'" "'PS'" ' 297' ' 1. ' ' 412' ' 1.4' ' 8136' ' 1.3'] [" 'FUELINSTHHCUR'" "'NPSHYD'" ' 322' ' 1.1' ' 319' ' 1.1' ' 8015' ' 1.2'] [" 'FUELINSTHHCUR'" "'OTHER'" ' 129' ' 0.4' ' 128' ' 0.4' ' 3093' ' 0.5'] [" 'FUELINSTHHCUR'" "'INTFR'" ' 1494' ' 5.1' ' 1494' ' 5.1' ' 31731' ' 4.9'] [" 'FUELINSTHHCUR'" "'INTIRL'" ' 0' ' 0. ' ' 0' ' 0. ' ' 2650' ' 0.4'] [" 'FUELINSTHHCUR'" "'INTNED'" ' 882' ' 3. ' ' 880' ' 3. ' ' 18991' ' 2.9'] [" 'FUELINSTHHCUR'" "'INTEW'" ' 0' ' 0. ' ' 0' ' 0. ' ' 0' ' 0. '] [" 'FUELINSTHHCUR'" "'BIOMASS'" ' 1608' ' 5.5' ' 1630' ' 5.6' ' 37688' ' 5.9']] --data-- [["'CCGT'" '10430'] ["'OCGT'" ' 0'] ["'OIL'" ' 0'] ["'COAL'" ' 0'] ["'NUCLEAR'" ' 6963'] ["'WIND'" ' 6986'] ["'PS'" ' 297'] ["'NPSHYD'" ' 322'] ["'OTHER'" ' 129'] ["'INTFR'" ' 1494'] ["'INTIRL'" ' 0'] ["'INTNED'" ' 882'] ["'INTEW'" ' 0'] ["'BIOMASS'" ' 1608']] $python main.py --啊-- [“'FUELINSTHHCUR','CCGT',10430,35.8,10282,35.2,205996,32.” [“'FUELINSTHHCUR','OCGT',0,0,0,0,17,0.” [“'FUELINSTHHCUR','OIL',0,0,0,0,0,0.” [“'FUELINSTHHCUR'、'COAL',0,0,0,0,0,0.” [“‘FUELINSTHHCUR’、‘NUCLEAR’、6963、23.9、6970、23.9、167591、26。”] [“‘FUELINSTHHCUR’、‘WIND’、6986、24、7061、24.2、160036、24.9”] [“'FUELINSTHHCUR','PS',297,1,412,1.4,8136,1.3”] [“'FUELINSTHHCUR','NPSHYD',322,1.1319,1.18015,1.2”] [“‘FUELINSTHHCUR’、‘其他’、129、0.4、128、0.4、3093、0.5”] [“'FUELINSTHHCUR','INTFR',1494,5.1,1494,5.1,31731,4.9”] [“'FUELINSTHHCUR','INTIRL',0,0,0,0,2650,0.4”] [“'FUELINSTHHCUR','INTNED',882,3,880,3,18991,2.9”] [“'FUELINSTHHCUR','INTEW',0,0,0,0,0,0.” [“‘FUELINSTHHCUR’、‘Biomatical’、1608、5.51630、5.637688、5.9”] --lst-- [“'FUELINSTHHCUR'”、'CCGT'、'10430'、'35.8'、'10282'、'35.2'、'205996'、'32'.]、[“'FUELINSTHHCUR'、'OCGT'、'0'、'0'、'0'、'0'、'0'.]、[“FUELINSTHHCUR'、'0'、'0'、'0'、'0'、'0'、'0'、'0'.][“‘FUELINSTHHCUR’、‘NUCLEAR’、‘6963’、‘23.9’、‘6970’、‘23.9’、‘167591’、‘26’、[‘FUELINSTHHCUR’、‘WIND’、‘6986’、‘24’、‘7061’、‘24.2’、‘160036’、‘24.9’、[‘FUELINSTHHCUR’、‘PS’、‘297’、‘1’、‘412’、‘1.4’、‘8136’、‘1.3’、[‘FUELINSTHHCUR’、‘NPSHYD’、‘322’、‘1.1’、‘1’、‘1.2’、‘8015’、‘1.2’。”“FUELINSTHHCUR”、“其他”、“129”、“0.4”、“128”、“0.4”、“3093”、“0.5”]、[“FUELINSTHHCUR”、“INTFR”、“1494”、“5.1”、“1494”、“5.1”、“31731”、“4.9”]、[“FUELINSTHHCUR”、“INTIRL”、“0”、“0”、“0”、“0”、“0.0”、“0.4”]、[“FUELINSTHHCUR”、“INTNED”、“882”、“3”、“880”、“3”、“18991”、“2.9”]、[”“FUELINSTHHCUR”、“INTEW”、“0”、“0”、“0”、“0”、“0.”、[“FUELINSTHHCUR”、“生物质”、“1608”、“5.5”、“1630”、“5.6”、“37688”、“5.9]”] --tmp-- [“'FUELINSTHHCUR'”'CCGT''10430''35.8''10282''35.2''205996''32'.] [“'FUELINSTHHCUR'”'OCGT''0''0.'0''0.'17''0.] [“'FUELINSTHHCUR'”“'OIL'”0''0.“0''0.“0''0.” [“'FUELINSTHHCUR'”“'COAL'”'0''0.'0''0.'0''0.] [“FUELINSTHHCUR”“核能”“6963”“23.9”“6970”“23.9”“167591” '26. '] [“'FUELINSTHHCUR'”“'WIND'”'6986''24.“'7061''24.2''160036''24.9'] [“'FUELINSTHHCUR'”“'PS'”297''1.“'412''1.4''8136''1.3'] [“'FUELINSTHHCUR'”'NPSHYD''322''1.1''319''1.1''8015' ' 1.2'] [“FUELINSTHHCUR”“其他”“129”“0.4”“128”“0.4”“3093” ' 0.5'] [“'FUELINSTHHCUR'”'INTFR''1494''5.1''1494''5.1''31731' ' 4.9'] [“'FUELINSTHHCUR'”“'INTIRL'”