[問題] 找不出問題在哪裡
我想要將一些ID資料的屬性分門別類
(特定ID的位置例如出現在row[1]跟row[-1]的各算一類,row[1]~row[-1]算一類,不管row[0])
因此用set想說避免調資料重複
以下是我的code:
http://ppt.cc/63Ex
我讀取的資料大概是這種類型:
http://ppt.cc/wnWU
http://ppt.cc/Yytn
只有長度的問題
跑出來的結果:
http://ppt.cc/k72m
(上色是為了對答案,也是錯誤的地方,重複了)
遇到的問題:
原本依照我的分類應該會變成
>>> 特定的ID , 檔案名稱 , 該ID屬性 (e.g.Never present at C-terminal)
一個特定的ID跟一個檔案裡面應該只有一個屬性
但不知道為何變成
>>> 特定的ID , 檔案名稱 , 該ID屬性 (e.g.Never present at C-terminal)
>>> 同樣的ID , 同樣檔案名稱 , 不一樣ID屬性 (多了 Never present at either terminal)
個人認為應該是判斷式那邊出了問題(not in 的部分?),但是檢查了很久還是不知道問題在哪
還請大家幫我看一下到底哪裡出了問題
我原本認為應該一個 ID 只會跑進一個if,但很明顯不是...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.234.196.206
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1426906661.A.1E4.html
推
03/21 12:03, , 1F
03/21 12:03, 1F
→
03/21 12:04, , 2F
03/21 12:04, 2F
→
03/21 12:04, , 3F
03/21 12:04, 3F
好的,抱歉
因為我把每一行分成三個位置 row[1],row[-1],row[2]~[-2]
然後建立三個set,分別是n、c、m
n => row[1],c => row[-1],m => row[2]~row[-2]
然後判斷式則是判斷出現在哪幾個set裡面,像是:
if i in n and i in c and i in m
這邊我想表達的是特定的ID都有出現在這三個set
也有條件是只出現在某兩個或只出現在某一個
推
03/21 13:44, , 4F
03/21 13:44, 4F
我不是用pdb喔,不過也很希望能看一下
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 14:43:19
→
03/21 16:06, , 5F
03/21 16:06, 5F
了解,我以為是某資料庫的sample data
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 16:46:01
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 17:59:44
→
03/21 18:06, , 6F
03/21 18:06, 6F
→
03/21 18:07, , 7F
03/21 18:07, 7F
→
03/21 18:08, , 8F
03/21 18:08, 8F
我是有想過會再執行別的if,但是我應該已經用了if 的內容判斷式避免到再做這個動作吧?
因為我所想的狀況是利用這七個判斷式內容條件的不同
每一個ID應該只會對應到一個if 的狀況,但很明顯有些ID對應到兩三個if的狀況
因此我才很疑惑,我這七個的if判斷式應該是互斥的阿....
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:13:42
→
03/21 18:14, , 9F
03/21 18:14, 9F
→
03/21 18:14, , 10F
03/21 18:14, 10F
對,這三個n、c、m集合都會有重複的domain沒錯
雖然有不同的filename,但是我在最後都會把這些集合清空
而且我的集合是用set(),if 判斷式的條件也有把這三個集合有重複的ID考慮進去了
而且我感覺是if的問題的原因是我的結果像是 3 domain protein 這一個filename就跑出兩個if 的結果了
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:19:17
→
03/21 18:22, , 11F
03/21 18:22, 11F
→
03/21 18:23, , 12F
03/21 18:23, 12F
這個原因是因為我不是要讀完所有的檔案一次做分析
而是要一個一個讀檔各自做分析,我是希望每讀一個檔案就用裡面的domain做分析一次
然後換下一個檔案時再把全部清空
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:26:48
→
03/21 18:28, , 13F
03/21 18:28, 13F
是的,所以是迴圈中出錯誤了嗎?
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:30:02
→
03/21 18:30, , 14F
03/21 18:30, 14F
→
03/21 18:31, , 15F
03/21 18:31, 15F
→
03/21 18:32, , 16F
03/21 18:32, 16F
→
03/21 18:34, , 17F
03/21 18:34, 17F
好的,我試試看,非常感謝
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:35:05
→
03/21 18:34, , 18F
03/21 18:34, 18F
好的,非常感謝
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:44:58
有了,非常感謝,目前只遇到一個新的問題...
只有3 domain protein也是我第一個圖讀的資料是錯誤的,有點奇怪,總之非常感謝你的幫忙
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:47:25
※ 編輯: sariel0322 (182.234.196.206), 03/21/2015 18:48:33
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
2
18
Python 近期熱門文章
PTT數位生活區 即時熱門文章