如何使用 Python 分析 LinkedIn 连接
如何使用 Python 分析 LinkedIn 连接
任何人都可以使用 Linkedin 与您所在行业的人、您钦佩的人、创作者和大型科技公司联系。尽管 LinkedIn 是同类产品中的佼佼者,但 LinkedIn 缺少一个功能。好吧,我们将尝试使用 python 和数据分析的力量为 LinkedIn 的这个缺失功能实现一个解决方案。
数据
你们中的大多数人可能已经使用 LinkedIn 几十年了,甚至不知道他们可以选择将所有连接导出为 excel 文件。你可以这样做——前往你的主页,然后点击你的个人资料。现在从下拉菜单中单击设置和隐私。打开后,单击“数据隐私”选项卡,然后从那里选择“获取数据的副本”。导出所有连接并请求存档。您将在 10-15 分钟内收到一封电子邮件,其中包含指向您的 zip 文件的链接。
数据预处理
我们需要执行的第一步是从导出的 zip 文件中提取数据。在python中,我们有一个库 压缩文件 可以提取zip文件的内容。
偷看数据
我们有五列——名字、姓氏、电子邮件地址、公司职位和连接时间。
让我们组合 First Name 和 Last Name 列来创建一个单一的列作为 Name,并将 Connect On 列数据类型转换为 DateTime 以便于处理。
定义清洁数据(df):
## 连接名字和姓氏作为名字
df['姓名'] = df['名字']+ " "+df['姓氏']
## 重命名 Connected On 列并将其转换为日期时间
df['Connected_on'] = pd.to_datetime(df['Connected On']) ## 删除不必要的列
df = df.drop(['First Name','Last Name','Connected On'],axis=1)
返回 dfdf = clean_data(df)
df.head()
分析
1. 顶级公司和职位
我们可以通过使用 panda's 找到连接最多的前 n 家公司 价值计数()
对列本身起作用。它将返回所有公司及其频率计数。
导入情节
将 plotly.express 导入为 pxdef plot_bar(col,val):
top_companies = df[col].value_counts().iloc[1:val]
图 = px.bar(x=top_companies.index,y=top_companies.values,
标签={
'x':f'{col}',
'y':'连接数'
})
返回无花果
plot_bar('公司',10)
我们也可以通过将列名作为参数传递给 plot_bar 函数来对顶部位置执行相同的操作。
2. 月和日的连接数
柱子 Connected_on
具有有关用户连接到其网络中的用户的日期的信息。我们可以使用从中检索月份 dt.月
并使用它来查找不同月份的多个连接。
要查找不同日期的连接超时数,我们可以使用 dt.day_name()
函数将我们的 DateTime 数据转换为包含日期的日期名称的对象。
三、超时时间和连接数
时间线将显示从您的第一个连接日期到您最近一次连接的每一天的连接数。
为了查找和绘制一段时间内的连接数,我们将对每天到今天的连接数进行累积求和,然后使用面积图绘制数据。
4. 公司和职位的网络图
我们已经使用条形图绘制了顶级公司和职位,但为了使其更加清晰和视觉上令人印象深刻,我们将使用网络图。
Networkx 和 pyviz 是我们将用来创建此图的两个库。
从 pyvis.network 导入网络
将 networkx 导入为 nx
首先,我们将初始化我们的图并添加根节点。
g = nx.Graph()
g.add_node("你",color='蓝色')
插入第一个节点后,我们不断添加节点并根据与特定职位或公司的连接数增加它们的半径。最后,我们得到一个类似于下图所示的图表,其中每个节点代表公司名称或职位。
5. 检索共享电子邮件的人员列表
这是一个简单的分析,可以通过提取在电子邮件地址列中具有某些值的所有记录来完成。
df[df['Email Address'].notna()][['Name','Email Address','Position','Company','Connected_on']].reset_index().drop('index',axis =1)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明