如果我有以下csv文件test.csv:蟒使用測試,如果一個數據幀熊貓的值是由另一個列表示一組成員
C01,45,A,R
C02,123,H,I
在那裏我有限定套R
和I
作爲
R=set(['R','E','D','N','P','H','K'])
I=set(['I','H','G','F','A','C','L','M','P','Q','S','T','V','W','Y'])
我希望能夠以測試是否串A
是集R
(這是假的)的一員,如果串H
是集I
(這是真的)中的一員。我試圖與下面的腳本來做到這一點:
#!/usr/bin/env python
import pandas as pd
I=set(['I','H','G','F','A','C','L','M','P','Q','S','T','V','W','Y'])
R=set(['R','E','D','N','P','H','K'])
with open(test.csv) as f:
table = pd.read_table(f, sep=',', header=None, lineterminator='\n')
table[table.columns[3]].astype(str).isin(table[table.columns[4]].astype(str))
即我試圖做的A in R
同等或相當table.columns[3] in table.columns[4]
和數據的每一行返回TRUE或FALSE。
唯一的問題是使用最後一行兩行返回TRUE。如果我改變最後的行
table[table.columns[3]].astype(str).isin(R)
然後我得到
0 FALSE
1 TRUE
這是正確的。看來我在做.isin(table[table.columns[3]].astype(str))
時沒有正確引用集名稱
有什麼想法嗎?
我很困惑,你正在試圖檢查。你能改說嗎? –
你是否想使用文件中的字母'R'作爲設置名稱?如果是這樣,你最好的選擇是使用字典。 – ayhan
基本上A不在集合R中,但H在集合I中。我想打印比較列3和4的成員結果 – brucezepplin