可视化邮件时序网络数据集python代码
时间: 2023-10-14 08:22:41 浏览: 96
以下是使用Python进行可视化邮件时序网络数据集的示例代码:
```python
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
# 读取数据集
df = pd.read_csv('email-Eu-core-temporal.txt', sep=' ', header=None, names=['source', 'target', 'timestamp'])
# 将时间戳转换为日期格式
df['date'] = pd.to_datetime(df['timestamp'], unit='s')
# 根据日期分组
groups = df.groupby(pd.Grouper(key='date', freq='1D'))
# 创建空图
G = nx.Graph()
# 添加节点并设置节点属性
for group in groups:
date = group[0].strftime('%Y-%m-%d')
edges = group[1].values.tolist()
G.add_edges_from(edges)
nx.set_node_attributes(G, values=date, name='date')
# 绘制图形
pos = nx.spring_layout(G, k=0.15, seed=42)
nx.draw_networkx_edges(G, pos, alpha=0.5)
nx.draw_networkx_nodes(G, pos, node_color='lightblue', alpha=0.7, node_size=100)
nx.draw_networkx_labels(G, pos, font_size=8, font_family='sans-serif')
plt.axis('off')
plt.show()
```
这段代码使用Pandas读取数据集,将时间戳转换为日期格式,并根据日期分组。然后,使用NetworkX创建空图,并在每个日期中添加节点和边。最后,使用Matplotlib绘制网络图形。
阅读全文