如何根据一些相关值将列表\数组拆分为3个列表

2024-06-16 11:16:08 发布

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

我有python作业,要求我根据给定的值绘制电流时间和电压时间图。时间的值是小数,而电压和电流的值是二进制的。所有值都存储在一个文本文件中,我必须从中导入它们。我知道如何绘制它们,但我不知道如何将时间值、电流值和电压值拆分为3个列表。我也不知道我应该写什么代码来从二进制变为整数,并确定每一个的符号。电流、电压二进制值的最左边的数字决定值的符号,如果数字=0则为正,如果数字=1则为负。你知道吗

我试过:

import numpy as np

t = []
I = []
v = []

with open("rawdata.txt") as DATA:
    data_ = [line.split() for line in DATA]
    data = np.array(data_)
    print(data[:,0])

我试过用最后一行的cod来打印时间值,但是没有用。你知道吗

编辑:错误消息:

Traceback (most recent call last): 
File "C:\Users\mustafa ghanım\Desktop\İTÜ - BAHAR 2016 DÖNEMİ\PYTHON\Proje\proje.py", line 5, in <module> print(data[:,0]) 
IndexError: too many indices for array

 current=[];voltage=[];import numpy as np
 with open("rawdata.txt") as DATA:
 data_=[line.split()for line in DATA if not line.isspace()]
 data=np.array(data_)
 t=data[1:,0]
 I=data[1:,1]
 v=data[1:,2]
 print ("Time:",t)
 print (I)
 print (v)
 for i in I:
     d_c=int(i,2)
     current.append(d_c)
 print("Current:",current)
 for j in v:
    d_v=int(j,2)
    voltage.append(d_v)
print("Voltage",voltage)

对不起,我迟了回应,我现在正试图导出我的新的十进制值,我已经建立了他们每个人的列表(值的时间,电压,电流,功率)为小数。我现在被要求将这些值导出为一个表,其中包括行和列,当然是一个名为“powdata.txt文件“.你知道我应该用哪种代码吗?! 我试着写:

 powdata=open("powdata.txt","w")
 for a in t:
   powdata.write("%s\n"%a)
 for b in current:
 "and so on!"

 powdata.close()

不幸的是,这种代码只是垂直地将数据写入文本文件,我的意思是不像建议的表那样。 不幸的是,这种代码只是垂直地将数据写入文本文件,我的意思是不像建议的表那样。你知道吗

          time(s) voltage(V)    current(A)
           0    0000000000      101101010
           0.0005   0000110001  101011000
          0.001 0001100000      101011000

这样的表必须写入新文件中。你知道吗


Tags: 代码intxtfordataasnpline