2017-08-09 123 views
-2

我有3個數據。如何製作代碼?

code2 data : code data(ex:a1,b1,c1) 
field data : field data(ex:a2,b2,c2) 
file data: row data 

行數據格式是下一行

field1|field2|field3 
a1 |a2 |value1 
a1 |b2 |value2 
a1 |c2 |value3 
b1 |a2 |value4 
b1 |b2 |value5 
... 

我想作出新的數據。新的數據格式是

index|a2|b2|c2 
a1 |value1|value2|value3 
b1 |vlaue4|value5 ... 

我使用numpy的和熊貓的陣列的lib,但我不能讓一個newdata下一行

我的代碼是下一行

f = open('D:\\file.txt','r') 
g = open('D:\\code2.txt','r') 
h = open('D:\\field.txt','r') 
k = open('D:\\data.txt','w') 
import numpy as np 
a=[] 
b=[] 
c = [0 for _ in range(102218)] 
d = [0 for _ in range(63)] 
f_1 = f.readlines()[1:] 
g_1 = g.readlines() 
h_1 = h.readlines() 
for i in range(0,102219): 
    c[i]="" 
for lineG in g_1: 
    a = lineG.split('|') 
    code = int(a) 
    for lineH in h_1: 
     b = lineH.split('|') 
     for lineF in f_1: 
      z = lineF.split(',') 
      if a == z[1] and b == z[2]: 
       array1 = np.arange(6542080).reshape(len(lineG),len(lineH)) 
       array1 = np.array(ro) 
       break 
      else: 
       continue 
k.close() 
h.close() 
g.close() 
f.close() 
+2

SO並不是免費的編程服務,我建議你展示一下你已經嘗試過的東西,因爲在這裏我們非常重視這一點。然後我們可以給你建議並提出可能的解決方案。 – eyllanesc

回答

0

使用pivot

df = pd.DataFrame(np.array([ 
      ['a1','a2','value1'] 
      ,['a1','b2','value2'] 
      ,['a1','c2','value3'] 
      ,['b1','a2','value4'] 
      ,['b1','b2','value5'] 
     ]), columns=['field1', 'field2', 'field3']) 

df.pivot(index='field1', columns='field2', values='field3') 
+0

원진님댓글달아주셔서감사합니다。 그러나저런방법을했지만오류가계속해서발생합니다。 혹시이메일주소를보내주시면제가자세히알려드리겠습니다。 –