尝试在Python中使用多个数据帧创建一个相当于Excel中跨越多个工作表的countifs。在
我需要一个新的列计数记录在另一个数据帧上,基于当前数据帧的条件。在
请参见我想在python中做什么的Excel impression,也可以是here。在
我的目标?在
基本上Excel的等价物是。。。在
=COUNTIFS(Summary!$B$1:$B$11, ">="&Detail!B2, Summary!$B$1:$B$11, "<="&Detail!C2, Summary!$C$1:$C$11, ">="&70, Summary!$A$1:$A$11, "="&Detail!A2)
…其中Summary是主数据帧,Detail是我要统计记录的辅助数据帧。在
在我的研究中找到了以下答案:
不是我想要的,因为它们不跨越多个数据帧。我能够为一个单数数据帧创建一个基本的countifs:
sum(1 for x in students['Student ID'] if x == 1)
sum(1 for x in exams['Exam Grade'] if x >= 70)
基本上,您要做的是设置两个数据帧,例如
df1
表示“考试通过”信息,df2
表示每个考试的分数。在要开始学习,您可以阅读excel文件,如下所示:
然后,对于
df1
中的每一行,您需要对df2
分段并获得分段数据帧的长度。在首先,您可能需要列出df1中每一行的信息,可以这样做:
^{pr2}$然后您可以像这样迭代行:
然后在df1中添加/替换列:
为了正确地比较日期,您需要将它们转换为每个pandas数据帧中的datetime对象,我将留给您决定。提示:您可以使用
pd.to_datetime()
函数。在相关问题 更多 >
编程相关推荐