【发布时间】:2020-03-25 21:57:45
【问题描述】:
我有一个类似的数据框 -
Challenge Points
challenge1 {'k01-001': 0.5, 'k03-015':0.3, 'k01-005': 0.2}
challenge2 {'k02-001': 0.5, 'k06-003':0.4, 'k04-001': 0.1}
challenge3 {'k04-001': 0.1, 'k06-003':0.9}
challenge4 {'k01-005': 0.2, 'k01-001':0.4, 'k03-002': 0.2, 'k01-007': 0.2}
challenge5 {'k06-003': 0.6, 'k04-001':0.4}
从这里我想创建一个字典,其中的键应该是两个点的元组,它们已经一起评估了一个挑战(例如('k01-001', 'k01-005')),值应该是他们一起评估了多少个挑战. 所以,像 -
{('k01-001', 'k01-005'): 2, ('k01-001', 'k03-015'): 1, ('k01-005', 'k03-015'): 1, ('k04-001', 'k06-003'): 3, ... }
到目前为止,我已经设法使用此代码阅读了 Points 列中的各个字典 -
for index, row in df.iterrows():
dict_temp = json.loads(row['Points'].replace("'", '"'))
for key, value in dict_temp.items():
# SOME CODE HERE
但是,我不确定如何从这里开始。
【问题讨论】:
-
你想要每一行的字典吗?
-
不,整个数据帧的字典。
-
是否有重复挑战行?
-
不,
Challenge列具有所有唯一值,但两个(或更多)挑战可以具有相同的Points。 -
你能对你的数据框做 to_dict() 吗?
标签: python-3.x pandas dataframe dictionary