自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

大數(shù)據(jù) 數(shù)據(jù)分析
最近正值復(fù)聯(lián)4上映,小F也發(fā)現(xiàn)了一個(gè)有趣的網(wǎng)站。主要是關(guān)于漫威人物、漫威電影的圖譜。網(wǎng)站是基于Graph技術(shù)開發(fā)的。其實(shí)之前小F也利用了有關(guān)Graph的庫實(shí)現(xiàn)了一波人物的關(guān)系分析。只不過分析結(jié)果比較粗糙而已~

最近正值復(fù)聯(lián)4上映,小F也發(fā)現(xiàn)了一個(gè)有趣的網(wǎng)站。

主要是關(guān)于漫威人物、漫威電影的圖譜。

https://graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/index.html(復(fù)制到瀏覽器打開)

網(wǎng)站是基于Graph技術(shù)開發(fā)的。

其實(shí)之前小F也利用了有關(guān)Graph的庫實(shí)現(xiàn)了一波人物的關(guān)系分析。

只不過分析結(jié)果比較粗糙而已~

下面是網(wǎng)站的概況,大家可以一覽。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

 大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

那么人家能做出這么酷炫的關(guān)系圖,我們自己能不能實(shí)現(xiàn)呢?

這一期就利用網(wǎng)站提供的數(shù)據(jù),使用Neo4j(NOSQL圖形數(shù)據(jù)庫)進(jìn)行實(shí)戰(zhàn)一波。

一、獲取分析

人物及人物關(guān)聯(lián)信息從網(wǎng)站上獲取,具體接口如下。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

數(shù)據(jù)為json格式,分別在「characters」和「relationship」中。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

這里的信息是分別指托尼·斯達(dá)克,關(guān)系「0」為朋友,斯蒂文·羅杰斯。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

二、 數(shù)據(jù)獲取

具體代碼如下。

  1. headers = { 
  2.     'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' 
  3.  
  4. url = 'https://graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/data/marvel-data.json' 
  5. response = requests.get(url=url, headers=headers) 
  6. result = json.loads(response.text) 
  7.  
  8. num = 0 
  9. names = [] 
  10. item = {0: 'friend', 1: 'enemy', 2: 'creation', 3: 'family', 4: 'work', 5: 'love'
  11.  
  12. for i in result['relationship']: 
  13.     subject = result['relationship'][i]['id'
  14.     object = result['relationship'][i]['target_id'
  15.  
  16.     if subject not in names: 
  17.         names.append(subject) 
  18.     if object not in names: 
  19.         names.append(object) 
  20.  
  21.     relation = int(result['relationship'][i]['relationship']) 
  22.     with open('relation_message.csv''a+'as f: 
  23.         f.write(subject + ',' + object + ',' + item[relation] + '\n'
  24.  
  25. for j in names: 
  26.     num += 1 
  27.     with open('names_message.csv''a+'as f: 
  28.         f.write(j + ',' + str(num) + '\n'
  29.  
  30. for k in result['characters']: 
  31.     id = result['characters'][k]['id'
  32.     name = result['characters'][k]['name'
  33.     status = result['characters'][k]['status'
  34.     species = result['characters'][k]['species'
  35.     with open('message.csv''a+'as f: 
  36.         f.write(id + ',' + name + ',' + status + ',' + species + '\n'

***成功獲取數(shù)據(jù)。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

人物名為簡稱,共計(jì)182個(gè)人物。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

1144條人物關(guān)系數(shù)據(jù),4大類型。

下面是182個(gè)人物的一些詳情信息。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

包含了人物的名字及簡稱,存活狀態(tài),人物屬性。

三、數(shù)據(jù)可視化

下面通過Neo4j對(duì)人物關(guān)系進(jìn)行可視化。

Neo4j的安裝這里就不細(xì)說了,大家可以自行百度。

開啟Neo4j服務(wù)后,登陸Neo4j網(wǎng)站,初始化界面如下。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

先加載***個(gè)文件。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

具體代碼如下。

  1. LOAD CSV WITH HEADERS FROM 'file:///names_message.csv' AS data CREATE (:people{name:data.name, id:data.id}); 

下面加載第二個(gè)文件。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

具體代碼如下。

  1. LOAD CSV  WITH HEADERS FROM "file:///relation_message.csv" AS relations 
  2. MATCH (entity1:people{name:relations.subject}) , (entity2:people{name:relations.object}) 
  3. CREATE (entity1)-[:rel{relation: relations.relation}]->(entity2) 

點(diǎn)擊1144按鈕處,取消限制數(shù),再點(diǎn)擊全屏。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

 大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

 大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

這里大致能看出來漫威的人物聚集情況。

***大反派滅霸(thanos),原來這么孤立的。

這里由于人物太多,造成觀察不便,所以對(duì)結(jié)果進(jìn)行一些篩選。

比如篩選托尼·斯達(dá)克的朋友,運(yùn)行下面的代碼。

  1. match p=(n:people{name:"tonys"})-[:rel{relation:"friend"}]->() return p; 

得到下圖結(jié)果。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

其中「thor」為「雷神」,「stever」為「美隊(duì)」,「blackw」為「黑寡婦」,「vision」為「幻視」,「peterp」為「蜘蛛俠」,「bruceb」為「綠巨人」。

下面再來看一下美隊(duì)的女友吧。

大數(shù)據(jù)告訴你:10年漫威,到底有多少角色

佩吉·卡特和她的侄女莎朗·卡特,據(jù)說兩人樣貌極為相像。

四、總結(jié)

本次只是對(duì)Neo4j的一些簡單操作,后期或許會(huì)去深入了解。

此外漫威的這些人物信息,還可以玩出很多花樣的。

也希望大家能去動(dòng)手嘗試嘗試,做一枚硬核鐵粉~

責(zé)任編輯:未麗燕 來源: 法納斯特
相關(guān)推薦

2021-07-26 11:02:29

鄭州暴雨河南

2018-05-15 09:24:19

硬盤網(wǎng)絡(luò)CPU

2012-08-23 14:21:47

大數(shù)據(jù)

2012-08-23 15:10:44

Facebook

2016-08-31 09:48:07

體驗(yàn)

2018-09-21 11:58:59

大數(shù)據(jù)

2022-09-27 09:43:08

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)

2011-06-07 10:15:38

GNULinux

2021-09-26 20:22:58

5GAI技術(shù)

2016-10-25 09:25:36

大數(shù)據(jù)樓市走勢

2016-09-25 09:15:27

大數(shù)據(jù)數(shù)據(jù)分析

2021-01-22 08:13:58

Java日期時(shí)間API

2018-07-24 15:22:30

區(qū)塊鏈數(shù)字貨幣比特幣

2012-12-26 11:04:14

2020-12-21 13:42:59

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用

2021-08-02 14:27:18

大數(shù)據(jù)殺熟人工智能網(wǎng)絡(luò)投訴

2010-08-26 09:08:04

Google數(shù)據(jù)中心

2016-07-01 14:49:09

人工智能大數(shù)據(jù)

2022-05-17 08:41:41

協(xié)程I/O模式

2024-04-12 00:00:00

localhost計(jì)算機(jī)機(jī)制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)