Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 扩展单个变量的频率数据集_Python_Arrays_Count_Histogram_Frequency - Fatal编程技术网

Python 扩展单个变量的频率数据集

Python 扩展单个变量的频率数据集,python,arrays,count,histogram,frequency,Python,Arrays,Count,Histogram,Frequency,我有两列数据:一列是温度值,另一列是观察每个温度的频率。我一直在尝试用python编写代码,获取这两列频率数据并创建一个扩展的温度数据数组。我基本上想要反转“计算”值的过程,并在单个数组中公开所有原始数据值 我目前读取数据的方式如下: f = np.genfromtxt('playground_sum.txt', usecols=(0,1)) freq = f[:,1] temp = f[:,0] freq = freq.astype(int) new = [] for line in f:

我有两列数据:一列是温度值,另一列是观察每个温度的频率。我一直在尝试用python编写代码,获取这两列频率数据并创建一个扩展的温度数据数组。我基本上想要反转“计算”值的过程,并在单个数组中公开所有原始数据值

我目前读取数据的方式如下:

f = np.genfromtxt('playground_sum.txt', usecols=(0,1))

freq = f[:,1]
temp = f[:,0]
freq = freq.astype(int)

new = []
for line in f:
    new = np.repeat(temp,freq)
print new
这成功了!欢迎使用任何其他方法。

尝试以下方法:

array = []
with open('myfile.txt') as f:
    for line in f:
        line = line.strip()[1: -1] # gives ex: '10, 0'
        try:
            temp, freq = [int(i) for i in line.split(',')] # a list comprehension
        except ValueError:
            continue
        array.extend([temp] * freq)
这假设文件中的每一行都是这样的:
[10,0]


此代码输出的列表如下:
[10,20,20,30,30,30]

类似于@Totem solution,但我认为您应该将频率转换为整数

array = []
with open('test.csv') as f:
    for line in f:
        temp, freq = line.split(',')
        try:
            freq = int(freq)
        except Exception as e:
            continue

        array.extend([temp] * freq)

print array

你能展示一下你试过什么吗?另外,如果我理解您想要实现的目标(显示温度取决于FREQ的值),那么如果FREQ为0,您为什么要显示
[10]
?@gk3rch您似乎已经完全更改了文本文件的格式,array()从何而来?对于这些更改,我深表歉意,我正在尝试演示一个示例。我在ipython笔记本上编码。这个概念对我来说很重要,而不是数字、输入/输出、格式。您是否有
.txt
格式的数据,或者您已经有嵌套列表?我有.txt格式的数据。您是否应该将
freq
转换为int?您的数据是什么样的?这应该是部分
temp,freq=line.split(',')
,原因是它试图分割行,但只返回一个值,所以另一个值是
unpack
,我认为问题是因为我使用的是numpy数组?你应该更新你的问题并将当前代码附加到那里