我找到了这个答案Convert a Pandas DataFrame to a dictionary ,几乎可以在以下情况下使用,但我将解释为什么不这样做。
示例
nestedList = [['A', 'B'], ['A', 'C']]
df = pd.DataFrame(nestedList,columns=["1","2"])
返回以下数据框
1 2
0 A B
1 A C
然后我想使用.to_dict()转换为具有键列1和列表列2的字典
sampledict = {"A":["B","C"]}
使用链接的示例,我设置了要用作第1列的键并定向为列表的列
sampledict = df.set_index('1').T.to_dict('list')
返回
{'A': ['C']}
因为一旦您进行转置,“数据框”列就不唯一了,这在用户警告中指出:
UserWarning: DataFrame columns are not unique, some columns will be omitted.
这让我感到困惑,因此我更深入地挖掘并发现Export pandas to dictionary by combining multiple row values,我可以使用以下代码对其进行修改以得到想要的答案:
d = {}
for i in df["1"].unique():
d[i] = [df["2"][j] for j in df[df["1"]==i].index]
返回哪个
{'A': ['B', 'C']}
哪个很棒,但是我仍然不了解他们的所作所为,因为几乎没有解释。用户能否以更冗长的方式进行解释或撰写?并可能提出更简单的解决方案?