将Python列表生成二维数组

2024-05-16 23:09:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在读数据,想做一个二维数组。我有九个独立的数据集,当我把它们全部读入后,我想要一个9Xwhatever数组。现在,当我要求tmax的形状时,它给了我9个单独的列表,当我在循环之外时,它只给我一个列表,只显示其中一个数据集。如何将它们合并成一个二维数组?在

import numpy as np

citydata = ['bcm2.a2.USC00101022.tmax.1960.2099.txt','bcm2.a2.USC00362682.tmax.1960.2099.txt','bcm2.a2.USC00415411.tmax.1960.2099.txt',
    'ccsm.a2.USC00101022.tmax.1960.2099.txt','ccsm.a2.USC00362682.tmax.1960.2099.txt','ccsm.a2.USC00415411.tmax.1960.2099.txt',
    'pcm.a2.USC00101022.tmax.1960.2099.txt','pcm.a2.USC00362682.tmax.1960.2099.txt','pcm.a2.USC00415411.tmax.1960.2099.txt']


for x in range(0,len(citydata),1):

    data = np.genfromtxt(citydata[x], skip_header=1)
    tmax = (data[:,3]*(9./5.))+32.

Tags: 数据txta2列表datanp数组pcm
2条回答

怎么样?在

np.asanyarray([(np.genfromtxt(item, skip_header=1)[:,3]*(9./5.))+32 for item in citydata])

你们的文件都一样长,对吗?在

试试看

import numpy as np

citydata = ['bcm2.a2.USC00101022.tmax.1960.2099.txt','bcm2.a2.USC00362682.tmax.1960.2099.txt','bcm2.a2.USC00415411.tmax.1960.2099.txt',
'ccsm.a2.USC00101022.tmax.1960.2099.txt','ccsm.a2.USC00362682.tmax.1960.2099.txt','ccsm.a2.USC00415411.tmax.1960.2099.txt', 
'pcm.a2.USC00101022.tmax.1960.2099.txt','pcm.a2.USC00362682.tmax.1960.2099.txt','pcm.a2.USC00415411.tmax.1960.2099.txt']

tmax = []
for cd in citydata:
    data = np.genfromtxt(citydata[x], skip_header=1)
    tmax.append((data[:,3]*(9./5.))+32.)

相关问题 更多 >