[英]Create a dataframe using list and dictionaries
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%'}]
I WANT THE OUTPUT LIKE:我想要这样的输出:
Device output data
D1 42/0 0.3%/0.5%/0.6%
D2 145/1 1.3%/2.5%/0.6%
So, the output should be in the format out1[0]/out2[0] and out1[1]/out2[1] and the data column should be in the format data[0]['A']/data[0]['B']/data[0]['C']因此,输出的格式应为 out1[0]/out2[0] 和 out1[1]/out2[1],数据列的格式应为 data[0]['A']/data[0] ]['B']/数据[0]['C']
PLease help请帮忙
This is one approach.这是一种方法。
Ex:前任:
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)
Output:输出:
Device output data
0 D1 42/0 0.3%/0.5%/0.6%
1 D2 145/1 1.3%/2.5%/0.6%
Image of code Output of code代码图像 代码输出
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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.