如何比较Python中的两个字典值,并通过键与常用值配对?

2024-09-30 01:32:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两列:一列是DateTimeDataframedata["start"]),第二列是the tags,{}。我将创建一个字典,如下所示:

a = []
pl = []
pl1 = []
for i in list(data.index):
    a.append(data["parallels"][i].astype(str))
    if a[i] != 'nan':
        pl1.append(i)
        pl.append(a[i])
    if i > list(data.index)[i]: break
parl1 = dict(zip(pl1,pl))

因此,输出字典是:{3: '1.0', 5: '1.0'} 如果两个值相等(在本例中,两个值相等)并且在检查了写键之后,如何检查此字典。通过使列data["start")[5] == data["start][3]相等,我将使用输出键作为索引

我想知道如果有{2: '2.0', 3: '1.0', 4: '2.0', 5: '1.0'}dict,如何自动执行


Tags: theinfordataindexif字典tags
1条回答
网友
1楼 · 发布于 2024-09-30 01:32:59

反转字典,以便可以将键分组在一起

v = {}

for key, value in d.items():
    v.setdefault(value, set()).add(key)

print(v)

import pandas as pd

print(pd.DataFrame({'val': list(v.keys()), 'equal_keys': list(v.values())}))

{'2.0': {2, 4}, '1.0': {3, 5}}
   val equal_keys
0  2.0     {2, 4}
1  1.0     {3, 5}

除此之外,可能还需要使用pandas groupby并聚合所有索引

# just an example did not check for errors
df.groupby('parallel').index.agg(list)

相关问题 更多 >

    热门问题