当我将两个 pandas 列与 zip 组合成一个字典时,它会减少我的样本

When I combine two pandas columns with zip into a dict it reduces my samples

我在 pandas 中有两个列:df.latdf.lon。 两者都有 3897 的长度和 556 个 NaN 值。 我的目标是合并两列并从中生成字典。

我使用代码:

dict(zip(df.lat,df.lon))

这创建了一个字典,但比我原来的列少了一个元素。 我用 len() 来确认这一点。我不明白为什么字典只有一个元素 小于我的列,当两列的长度相同时。

另一个问题是字典只有原始值,而没有键“lat”和“lon”。

也许这里有人有想法?

如果在 df.lat 中有重复的值,您可能有不同的长度,因为字典中不能有重复的键,因此这些值将被删除。

更灵活的方法可能是使用 pandas 中的 df.to_dict() 本机方法。在此示例中,您想要的方向可能是 'records'。完整代码:

df[['lat', 'lon']].to_dict('records')