我有以下数据帧:
Activity SMILES
0 1.0 CCN1CCCC1CNC(=O)c1cc([N+](=O)[O-])cc(O)c1OC
1 1.0 O=c1cc(-c2cccs2)oc2ccc(OCCCCCCN3CCC(O)CC3)cc12
2 1.0 CCCCCCCCCC(=O)N1c2ccc(Cl)cc2N=C(N2CCN(C)CC2)c2...
3 1.0 CCN1C(=O)c2ccccc2S(=O)c2ccc(C(=O)NCc3ccc4c(c3)...
5 1.0 FC(F)(F)c1cccc(N2CCN(Cc3cn(-c4ccccc4)c(-c4cccc...
我想循环遍历它,这样我就得到了以下输出:
Activity SMILES cluster cluster set
0 1.0 CCN1CCCC1CNC(=O)c1cc([N+](=O)[O-])cc(O)c1OC 0.0 val
1 1.0 O=c1cc(-c2cccs2)oc2ccc(OCCCCCCN3CCC(O)CC3)cc12 898.0 val
2 1.0 CCCCCCCCCC(=O)N1c2ccc(Cl)cc2N=C(N2CCN(C)CC2)c2... 7.0 val
3 1.0 CCN1C(=O)c2ccccc2S(=O)c2ccc(C(=O)NCc3ccc4c(c3)... 4.0 val
5 1.0 FC(F)(F)c1cccc(N2CCN(Cc3cn(-c4ccccc4)c(-c4cccc... 856.0 val
聚类点存储在元组列表中,名称存储在列表中
cluster_points = [train_points, test_points, validation_points]
names = ['train', 'test', 'val']
例如,训练点(或测试点或验证点)可以是:
train_points = [(1,2,3), (4,2), (7,8,9,10)]
我想将这两列添加到dataframe中,并尝试了以下循环:
# this loop should be working but it doesn't work
for name, points in zip(name_points,list_points):
for num, cluster in enumerate(points):
for molecule in cluster:
df.loc[molecule,'cluster'] = num
df.loc[molecule, 'cluster set'] = name
然而,它只填充“val”的数据FRMAE,即使for循环中的“分子”是唯一的数字
目前没有回答
相关问题 更多 >
编程相关推荐