假设我们有一个如下所示的数据框:
start stop duration
0 A B 1
1 B A 2
2 C D 2
3 D C 0
Run Code Online (Sandbox Code Playgroud)
构建以下列表的最佳方法是什么:i)开始/停止对;ii) 开始/停止对的计数;iii) 开始/停止对的平均持续时间?在这种情况下,顺序应该无关紧要:(A,B)=(B,A).
期望的输出: [[start,stop,count,avg duration]]
在这个例子中: [[A,B,2,1.5],[C,D,2,1]]
我有一个看起来像这样的数据框:
start stop
0 1 2
1 3 4
2 2 1
3 4 3
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用我的元组列表中的 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
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一个 KeyError:
KeyError: "['1' ...] not in index"