.pklファイルにあるデータベースを検索したいと思います。
.pklファイルをロードし、load_dataという名前の変数に保存しました。
ここで、生の入力を使用して文字列入力を受け入れ、データセットの1つの特定の列 'SMILES
'で文字列を検索する必要があります。
文字列が一致する場合は、行全体、つまりその行に対応するすべての列値を表示する必要があります。
それは可能ですか?もしそうなら、どうすればいいですか?
使用する - boolean indexing
一致するすべての行を返します:
df = pd.DataFrame({'a': [1,3,4],
'SMILES': ['a','dd b','f'],
'c': [1,2,0]})
print (df)
SMILES a c
0 a 1 1
1 dd b 3 2
2 f 4 0
文字列のみをチェックする必要がある場合:
#raw_input for python 2, input for python 3
a = input('Enter String for SMILES columns: ') # f
#Enter String for SMILES columns: f
print (df[df['SMILES'] == a])
SMILES a c
2 f 4 0
または、部分文字列を確認する必要がある場合は、 str.contains
:
a = input('Enter String for SMILES columns: ') # b
print (df[df['SMILES'].str.contains(a)])
#Enter String for SMILES columns: b
SMILES a c
1 dd b 3 2