导入并可视化 Twitter 网络

在 Python 中分析社交媒体数据

Alex Hanna

Computational Social Scientist

边列表

         BethMohn           ChristianMohn
           ASilNY         LarrySchweikart
         mattg444              WhiteHouse
    hlthiskrieger                aravosis
          Herky86          SenJeffMerkley
  PatrickParsons9              TwitterGov
    New_Narrative                 CFR_org
           dddlor               roywoodjr
      scrivener50          michaelscherer
  ChiefsHeadCoach           johnpavlovitz
在 Python 中分析社交媒体数据

导入转推网络

import networkx as nx

## ... flatten and convert JSON
G_rt = nx.from_pandas_edgelist( tweets, source = 'user-screen_name', target = 'retweeted_status-user-screen_name', create_using = nx.DiGraph())
在 Python 中分析社交媒体数据

导入引用网络

import networkx as nx

## ... flatten and convert JSON

G_quote = nx.from_pandas_edgelist( tweets, source = 'user-screen_name', target = 'quoted_status-user-screen_name', create_using = nx.DiGraph())
在 Python 中分析社交媒体数据

导入回复网络

import networkx as nx

## ... flatten and convert JSON

G_reply = nx.from_pandas_edgelist(
                           tweets,
                           source = 'user-screen_name', 
                           target = 'in_reply_to_screen_name'
                           create_using = nx.DiGraph())
在 Python 中分析社交媒体数据

可视化

nx.draw_networkx(T)
plt.axis('off')

有向图

在 Python 中分析社交媒体数据

可视化选项

sizes = 
   [x[1]*100 for x in T.degree()]
nx.draw_networkx(T, 
            node_size = sizes, 
            with_labels = False, 
            alpha = 0.6,
            width = 0.3)
plt.axis('off')

有向图(已调整)

在 Python 中分析社交媒体数据

圆形布局

circle_pos =
    nx.circular_layout(T)
nx.draw_networkx(T,
            pos = circle_pos,
            node_size = sizes, 
            with_labels = False, 
            alpha = 0.6,
            width = 0.3)
plt.axis('off')

有向图(圆形布局)

在 Python 中分析社交媒体数据

开始练习!

在 Python 中分析社交媒体数据

Preparing Video For Download...