首页 > 其他分享 >1050. 合作过至少三次的演员和导演

1050. 合作过至少三次的演员和导演

时间:2023-08-14 14:35:51浏览次数:55  
标签:1050 导演 timestamp actor director 三次 id

1050. 合作过至少三次的演员和导演

2023年8月14日10:35:10

1050. 合作过至少三次的演员和导演

简单

SQL Schema


Pandas Schema


ActorDirector 表:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| actor_id    | int     |
| director_id | int     |
| timestamp   | int     |
+-------------+---------+
timestamp 是这张表的主键(具有唯一值的列).

编写解决方案找出合作过至少三次的演员和导演的 id 对 (actor_id, director_id)

示例 1:

输入:
ActorDirector 表:
+-------------+-------------+-------------+
| actor_id    | director_id | timestamp   |
+-------------+-------------+-------------+
| 1           | 1           | 0           |
| 1           | 1           | 1           |
| 1           | 1           | 2           |
| 1           | 2           | 3           |
| 1           | 2           | 4           |
| 2           | 1           | 5           |
| 2           | 1           | 6           |
+-------------+-------------+-------------+
输出:
+-------------+-------------+
| actor_id    | director_id |
+-------------+-------------+
| 1           | 1           |
+-------------+-------------+
解释:
唯一的 id 对是 (1, 1),他们恰好合作了 3 次。

通过次数

55.6K

提交次数

72.6K

通过率

76.5%

答案

import pandas as pd

def actors_and_directors(actor_director: pd.DataFrame) -> pd.DataFrame:

    # cnts = actor_director.groupby(['actor_id', 'director_id']).size().reset_index(name='counts')
    # return cnts[cnts['counts'] >= 3][['actor_id', 'director_id']]

    actor_director = actor_director.groupby(["actor_id","director_id"],as_index=False).agg({"timestamp": lambda x:x.count()>=3})
    return actor_director[actor_director["timestamp"]==True][["actor_id","director_id"]]

标签:1050,导演,timestamp,actor,director,三次,id
From: https://www.cnblogs.com/lmq886/p/17628548.html

相关文章

  • TCP三次握手与四次挥手状态变化十一种状态变化详解
    建立连接过程:客户端默认状态:CLOSED:关闭发起建立连接状态:SYN_SENT 发送SYN建立连接状态:ESTABLISHED已连接服务端服务端默认状态为LISTEN接受SYN并发送ACK:SYN_RCVD我接受到了你的SYN请求ESTABLISHED 建立连接断开连接过程客户端:连接状态:ESTABLISHED客户端发送FIN断开连接客户......
  • TCP三次握手与四次挥手详解
    三次握手根据TCP的包头字段,存在三个重要的标识ACKSYNFINACK:位置为1,表示确认收到发送请求,表示确认位SYN:位置1,表示建立TCP连接FIN:位置1,表示断开TCP连接PC1要与PC2建立TCP连接三次握手1)首先PC1像PC2发送:SYN包(表示我要与你建立连接)2)PC2收到后回复PC1:ACK(同意与你建立连接),并发送:SYN(......
  • 威力导演 PowerDirector官方电脑版 官方版特色
    威力导演PowerDirectorUltimate21版是一款专业级的视频编辑和制作工具,无论您是以360、UltraHD4K还是最新的在线媒体格式进行编辑,《威力导演》仍然是适合任何人的可靠视频编辑解决方案,无论他们是初学者还是专业人士。欢迎需要的伙伴前来下载使用。威力导演最出色的新功能之一......
  • 【面试】什么是TCP三次握手
    三次握手虽然工作中基本不会用到,但是面试的时候面试官经常会问到三次握手(Three-wayHandshake)是指在建立一个TCP连接时,客户端和服务器会一共发送三个报文段。这篇博客写的就比较通俗易懂,做下笔记 ......
  • 我的第十三次C语言练习
    //intmain(void)//{// charname1[40];// charname2[40];// printf("Mynameis");// scanf("%s%s",name1,name2);//MynameisAngelaPlains// printf("Hello%s%s",name1,name2);// HelloAngelaPlains// return0;//}今天先是......
  • 关于三次握手和四次挥手,面试官到底想听到怎样的回答?
    我一看到TCP,啪就点进来了,很快啊。  TCP报文   一个完整的TCP报文头部共有20个字节,其中包括:源端口号(16位)和目的端口号(16位):再加上ip首部的源ip地址和目的IP地址可以唯一确定一个TCP连接。数据序号(16位):表示在这个报文段中的第一个数据字节序号。确认序号:仅当......
  • TCP三次握手和四次挥手;OSI七层协议有哪七层,每层有哪些;TCP和UDP的区别?UDP用在哪里了?
    TCP三次握手和四次挥手;OSI七层协议有哪七层,每层有哪些;TCP和UDP的区别?UDP用在哪里了?TCP三次握手和四次挥手#tcp协议---》处于osi7层协议的传输层,可靠连接,使用三次握手,四次挥手保证了可靠连接,数据不会丢失三次握手(Three-WayHandshake):-SYN:SYN=1表示要建立连接-ACK:ACK=1......
  • tcp 三次握手和四次挥手
    目录1tcp三次握手和四次挥手四次挥手:洪水攻击:2osi七层协议,哪七层,每层有哪些,TCP/IP五层结构3tcp和udp的区别?udp用在哪里了?1tcp三次握手和四次挥手-TCP是可靠连接,使用三次握手,四次挥手保证了可靠连接,数据不会丢失-SYN:SYN=1表示要建立连接-FIN:表示断开连接-ACK:ACK=1表示......
  • 深入解析TCP三次握手与四次挥手:建立与断开连接的关键过程
    TCP(传输控制协议)是当今互联网最常用的传输协议之一,它为我们提供了可靠、有序、全双工的数据传输。在实现可靠数据传输的同时,TCP还通过三次握手与四次挥手这两个关键过程,确保了建立与断开连接的可靠性。本文将深入探讨TCP三次握手和四次挥手的工作原理和意义。一、TCP三次握手三次握......
  • TCP协议的三次握手、四次释放详解
    三次握手:  1.三次握手①第一次握手A的TCP客户进程向B发出建立连接请求报文段,其中SYN(同步位)=1,ACK(确认位)=0,seq(序号)=x。TCP规定,当报文段的SYN=1且ACK=0时,表明这是一个请求建立连接的;SYN报文段(SYN=1的报文段)不能携带数据,但是要消耗掉一个序号。在A发送完毕之后,A的TCP客户端进......