用相同的键、多个值附加到字典

2024-09-29 03:37:00 发布

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

试着弄清楚这里最好的主意/做法是什么。。我有一个不同地点的面试官的数据框。。我想创建一个字典或某种数据结构,保存面试官的名字,然后每个坐标点,我们有他们的面试。我正在使用的数据帧的一个示例如下:

    interview       longitude        latitude
1   A1                  34.2             90.2
2   A1                  54.2             23.5
6   A1                  NaN              NaN
7   A2                  NaN              NaN
8   A2                  NaN              NaN
9   A2                  23.1             38.2
10  A2                  -23.7            -98.4

基本上我想要一个字典,它有'A1',它包含(34.2,90.2),(54.2,23.5)和'A2'可以容纳(23.1,39.2),(-23.7,-98.4)。

^{pr2}$

我这里的逻辑有点不正常,但我没有任何方法“附加”到字典,所以我的字典只输出iterrows最后一次迭代的数据。。。我该怎么解决这个问题呢?


Tags: 数据a2示例数据结构字典a1nan名字
1条回答
网友
1楼 · 发布于 2024-09-29 03:37:00

一种使用^{}的解决方案:

def zipper(row):
    return list(zip(row['longitude'], row['latitude']))

res = df.dropna(subset=['longitude', 'latitude'])\
        .groupby('interview').apply(zipper).to_dict()

# {'A1': [(34.2, 90.2), (54.2, 23.5)],
#  'A2': [(23.1, 38.2), (-23.7, -98.4)]}

另一个使用^{}

^{pr2}$

由于defaultdictdict的一个子类,一般不需要进一步的操作。在

相关问题 更多 >