嗨,我在下面有一本字典,
我想根据字典值中的逗号将字典值分为两个,然后将结果存储在新数据框中,如下所示:
对于特定的词典条目,在我们的案例中,假设第一个:
(1,5)-这是关键,并且应该是新数据框中的第1列 (2,)-此值是从值(逗号前)中提取的,应位于数据框中的第2列 1.0-该值是从值(逗号后)中提取的,应位于数据框中的第3列
应该对字典中的所有(在此情况下为4个)键值对重复相同的过程。
如果rules是字典的名称, 我知道我可以访问rules.keys()和rules.values(),但是我不了解的是如何访问字典中的逗号分割值,因为当我尝试使用rules.values()时[1] ,则会引发错误。
{(1, 5): ((2,), 1.0),
(2, 5): ((1,), 1.0),
(4,): ((2,), 1.0),
(5,): ((1, 2), 1.0)}
输出DF:
Col 1 Col2 Col3
(1, 5) (2,) 1.0
(2, 5) (1,) 1.0
(4,) (2,) 1.0
(5,) (1, 2) 1.0
答案 0 :(得分:1)
使用列表理解。
例如:
import pandas as pd
data = {(1, 5): ((2,), 1.0), (2, 5): ((1,), 1.0), (5,): ((1, 2), 1.0), (4,): ((2,), 1.0)}
df = pd.DataFrame([[k] + list(v) for k, v in data.items()], columns=["Col_1", "Col_2", "Col_3"])
print(df)
输出:
Col_1 Col_2 Col_3
0 (1, 5) (2,) 1.0
1 (2, 5) (1,) 1.0
2 (5,) (1, 2) 1.0
3 (4,) (2,) 1.0