gpt4 book ai didi

python - 基于两个 Dataframe 列构建计数字典

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:15 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

    start   stop
0 1 2
1 3 4
2 2 1
3 4 3

我正在尝试使用我的元组列表中的 key= (start, stop) 对和 value= 它们出现的次数来构建字典,而不管顺序如何。换句话说,(1,2) 和 (2,1) 都算作 (1,2) 对在元组列表中的出现。

期望的输出:dict_count= {('1','2'):2, ('3','4'):2}

这是我的尝试:

my_list=[('1','2'),('3','4')]

for pair in my_list:
count=0
if ((df[df['start']]==pair[0] and df[df['end']]==pair[1]) or (df[df['start']]==pair[1]) and df[df['end']]==pair[0])::
count+=1
dict_count[pair]=count

但是,这给了我一个 KeyError:KeyError: "['1' ...] 不在索引中"

最佳答案

使用collections.Counter:

>>> from collections import Counter
>>> Counter(map(tuple, np.sort(df[['start','stop']], axis=1)))
{(1, 2): 2, (3, 4): 2}

这不会修改您的原始 DataFrame。

关于python - 基于两个 Dataframe 列构建计数字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53605031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com