[英]Multilevel indexing and computation using pandas
我有一个包含以下内容的输入文件:
case a1 b1.txt c1.txt
case a2 b2.txt c2.txt
case a3 b3.txt c3.txt
其中b1.tx,c1.txt,b2.txt,c2.txt,b3.txt,c3.txt是用于读取内容的文本文件,而casea1,a2,a3是案例。
案例存储在数组中。
我正在读取txt文件为:
bfile=[]
cfile=[]
f1= open(inp.txt,'r')
for line in f1:
cases.append(line.split()[0])
bfile.append(line.split()[1])
cfile.append(line.split()[2])
每个文件包含红色,绿色蓝色字符串和相应的值。 我正在从相应的文件中获取这些值并附加到数组:对于b文件,我将附加到b_red,b_green,b_blue。 对于c文件,附加到c_red,c_green,c_blue。
我已经尝试了相应的代码为:
b_red=[]
b_green=[]
b_blue=[]
c_red=[]
c_green=[]
c_blue=[]
for i in bfile:
f2=open(i,'r')
for line in f2.readlines():
string=line
if re.search(r'\bRED', string):
redValue=float(string.split()[4])
b_red.append(redValue)
---
---
for j in cfile:
f3= open(j, 'r')
for line in f3.readlines():
string = line
if re.search(r'\bRED', string):
c_redValue=float(string.split()[4])
c_red.append(c_redValue)
----
因此,b_red = [120.0,10.0,100.0],c_red [120.0,9.0,20.0],同样的值也存储在数组b_green,c_green,b_blue,c_blue中。
我试图将csv输出为:
df1=pd.DataFrame({'RED':b_red,'GREEN':b_green,'BLUE':b_blue })
df1.to_csv("OUT.CSV")
df2=pd.DataFrame({'RED':c_red,'GREEN':c_green,'BLUE':c_blue })
df2.to_csv("OUT.CSV")
df=df1-df2
df.to_csv("OUT.CSV")
其实我想要这个:
RED GREEN BLUE
a1 B 120.0 14.0 12.0
C 120.0 17.0 14.0
diff 0 -3 -2
a2 B 10.0 3.0 1.2
C 9.0 3.0 0.2
diff 1.0 0 1.0
a3 B 100.0 15.0 10.0
C 80.0 18.0 5.0
diff 20.0 -3.0 5.0
对于输出,请尝试以下操作:
ff=open("OUT.CSV","w")
print(df,file=ff)
ff.close()
但是,我认为您要求的输出格式不是真的csv。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.