2 回答
TA贡献1804条经验 获得超2个赞
您可以制作一个大的“索引”字典,而不是检查单独中的键。在我的示例中,我建议 t4 或 t8 是 dits。如果您有字典和.在这里,你不介意价值观。 表示您在 t4 字典中检查密钥。 将使词典dict.update()'只是更新词典中的所有键,在这里你将如何用你需要的值索引所有键。t4 = {'t4_1':'value_1', 't4_2': 'value_2'}t8 = {'t8_1': 'value_1', 't8_2': 'value_2'}if ind in t4inddict.from_keys(t4.keys(), 'a'){'t4_1':'a', 't4_2':'a'}'.
如果 t4 和 t8 是列表或集合,是的,这就足够了。dict.from_keys(t4, 'a')
idx = {}
idx.update(dict.fromkeys(t4.keys(), 'a'))
idx.update(dict.fromkeys(t8.keys(), 'b'))
idx.update(dict.fromkeys(nk.keys(), 'c'))
idx.update(dict.fromkeys(mono.keys(), 'd'))
idx.update(dict.fromkeys(b.keys(), 'e'))
truth = [idx.get(ind, 'Other') for ind in df.index.values]
t_ind = df.index.values
TA贡献1811条经验 获得超5个赞
基于解决方案。 返回两个可迭代对象之间的所有匹配位置。我们通过迭代您的指数段(即等)逐个找到此匹配位置。RHS上的廉价黑客numpynp.in1dt4t8chr(97) = 'a'
# create a list with all the elements as 'Others'
truth = np.repeat('Other', len(df))
# iterate over index groups and impute truth with the matching group
for i, idx_group in enumerate([t4, t8, mono, nk, b]):
truth[np.where(np.in1d(df.index.values, idx_group))[0]] = chr(97+i)
添加回答
举报