对于每一行 id,我都有一个值列表作为熊猫列。结构如下:
df = {'id1':[['a','b','c','d']],'id2':[['a','d','e','j']],'id3':[['b','d','i','q']]},
df = pd.DataFrame.from_dict(df,orient='index')
Run Code Online (Sandbox Code Playgroud)
这给了我:
起初,我使用以下代码在侧面创建了一组唯一值:
l = df.values.tolist()
flat_set = {item for sublist in l for item in sublist}
Run Code Online (Sandbox Code Playgroud)
最后,我需要得到一个稀疏版本:
笔记:
如果缩短列的名称会导致内存减少,我不介意保留一个字典,但对我来说,从列表解包到稀疏是困难的部分。
请帮忙 :)