Device = [D1,D2]
out1=[42,145]
out2 = [0,1]
data = [{'A': '0.3%','B':'0.5%','C':'0.6%'},{'A': '1.3%','B':'2.5%','C':'0.6%'}]
我想要输出:
Device output data
D1 42/0 0.3%/0.5%/0.6%
D2 145/1 1.3%/2.5%/0.6%
因此,输出的格式应为out1 [0] / out2 [0]和out1 [1] / out2 [1] 并且数据列应采用以下格式 数据[0] ['A'] /数据[0] ['B'] /数据[0] ['C']
请帮助
答案 0 :(得分:1)
这是一种方法。
例如:
Device = ["D1","D2"]
out1=[42,145]
out2 = [0,1]
data = [{'A': '0.3%','B':'0.5%','C':'0.6%'},{'A': '1.3%','B':'2.5%','C':'0.6%'}]
df = pd.DataFrame({'Device': Device,
'output': ["{}/{}".format(*i) for i in zip(out1, out2)],
'data': ["/".join(i.values()) for i in data]})
print(df)
输出:
Device output data
0 D1 42/0 0.3%/0.5%/0.6%
1 D2 145/1 1.3%/2.5%/0.6%
答案 1 :(得分:0)
Device = ['D1','D2']
out1=[42,145]
out2 = [0,1]
data = [{'A': '0.3%','B':'0.5%','C':'0.6%'},{'A':
'1.3%','B':'2.5%','C':'0.6%'}]
list1=[];list2=[]
for i in range(len(out1)):list1.append(str(out1[i])+"/"+str(out2[i]))
for i in range(len(data)):
list2.append(data[i]['A']+'/'+data[i]['B']+'/'+data[i]['C'])
list3={Device[0]:list1,Device[1]:list2}
df=pd.DataFrame(list3,index=[Device[0],Device[1]])
df.rename(columns={Device[0]:'output',Device[1]:'data'},inplace=True);df.rename_axis(index='Device')