國際抗疫數據分析腳本

2020年6月百度抗疫數據分析腳本

直接從百度抗疫把國際數據複製

20200608有人在討論美國破200萬,以及中西醫之爭,就關注了下數據。
以及中國、美國的比較

格式如下:
美國
21971 1133340 2007531 761720 112471

藐了一眼,比較適合腳本加工,沒做特別處理。
直接上代碼
語言 perl

#!/usr/bin/perl

use DBI;
 


 	open(DATA,"< kytj.txt") or die "無法打開數據";
	my @lines = <DATA>;
	#print @lines;    # 輸出數組內容
	close(DATA);
  
	$lines_count = @lines;
	 
	for( $a = 0; $a < $lines_count; $a = $a + 1 ){
	
	
	  if (($a % 2) == 1){  
       $lines[$a] =~ s/[^0-9]+/ /g; 
	   $lines[$a] =~ s/\s+/,/g; 
       $lines[$a] = $lines[$a]."\r\n";
	   
       @data=split(/,/,$lines[$a]); 
       #print " array count ".@data;
	   #print " ".$data[0]." ".$data[1]." \r\n";

       
	  }

	  #print $lines[$a];
	  
	  
	}
	
	
my $driver   = "SQLite";
my $database = "test.db";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "";
my $password = "";
my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 })
                      or die $DBI::errstr;
print "Opened database successfully\n";

my $stmt = qq(CREATE TABLE KangYi
      (ID INT PRIMARY KEY     NOT NULL,
       AREA           INT    NOT NULL,
       F1            INT     NOT NULL,
       F2        INT     NOT NULL,
       SUM         INT     NOT NULL,  #累計
       GOOD        INT     NOT NULL,  #治好
       DIE         INT     NOT NULL,   #死亡
	   TJ1        INT     NOT NULL,
       TJ2         INT     NOT NULL    #死亡率=死亡數/治好數
	   ););
my $rv = $dbh->do($stmt);
if($rv < 0){
   print $DBI::errstr;
} else {
   print "Table created successfully\n";
}
 




for( $a = 0; $a < $lines_count; $a = $a + 2 ){
       @data=split(/,/,$lines[$a+1]); 

	my $stmt = qq(INSERT INTO KangYi (ID,AREA,F1,F2,SUM,GOOD,DIE,TJ1,TJ2)
		  VALUES (?, ?, ?, ?, ?,?,?,?,? ));
		  
	my $sth = $dbh->prepare($stmt);  
	my $v2= $data[2]+0;
	my $v3= $data[3]+0;
	my $v4= $data[4]+0;
    
	if( $v2 == 0) 
	{
	  $v2= 1;$v4= -1;  #特殊情況,合計0,不能做分母, 比率算-1就可以了。 
	}
 
	$sth->execute($a, $lines[$a], 0,0,$v2,$v3,$v4,0, $v4/$v2) or die $DBI::errstr;
}

#my $stmt = qq(INSERT INTO KangYi (ID,AREA,F1,F2,SUM,GOOD,DIE,TJ1,TJ2)
#      VALUES (1, 'USA', 1, 2, 3,4,5,6,7 ));
#my $rv = $dbh->do($stmt) or die $DBI::errstr;



print "Records created successfully\n";



my $stmt = qq(SELECT ID, AREA, SUM, TJ2  from KangYi where TJ2> 0.00000001  order by TJ2 asc ;);
my $sth = $dbh->prepare( $stmt );
my $rv = $sth->execute() or die $DBI::errstr;
if($rv < 0){
   print $DBI::errstr;
   
}
$paimin = 1;
while(my @row = $sth->fetchrow_array()) {
      print  " 排名:".$paimin.",";
	  $paimin = $paimin +1;
	  $area_str = $row[1];
	  #$area_str = ~s/\n//;
      print " ". $area_str ." ";
      print " ". $row[2] .",";
      print "   ".  int(100*100*$row[3])/100 ."%\n ";
}
print "Operation done successfully\n";
$dbh->disconnect();




結果分析

1 新加坡 表現突出
2 湖北拉了全國數據後腿,湖北單獨算 150名,而湖北以外27名。
3 中國和美國 總體死亡率 接近 136 137名。

湖北有可能是數據有問題 或者其他原因,比如前期干預的措施不力,死亡率太高。
新加坡的原因,結合新聞看:
1 公共衛生條件強大
2 佛系抗疫,政府權威,執行力強
3 高溫 ,海洋氣候有可能對控制疫情有利
4 檢測普及接近全部, 分母大。
5 感染人羣 外籍勞務多,其中身強體壯年輕人多, 死亡率低。 分子小。

新加坡值得關注,他們採取的策略和中國不同。
中國重點在隔離、口罩、限制復工,而新加坡重點在治療。
表現爲和國家人口比,中國感染累積數不大,而新加坡累積數目很大。
但是新加坡治療效果好。

中國美國排名接近說明採取的治療方法的效果差別不大。

目前數據有可能的問題, 前期沒有全面檢測,湖北的數據有一定疑問。
而百度的數據缺乏後遺症以及治療後的分析。 有可能會出現一個人經過治癒,轉爲陰性,但是這個人治療方法副作用大,這個人還沒出醫院, 如果這個人死了,因爲已經是陰性,不會計算入死亡人數。

結果

Opened database successfully
Table created successfully
Records created successfully
感染累積 死亡率
排名:1, 新加坡
38296, 0.06%
排名:2, 卡塔爾
68790, 0.07%
排名:3, 法屬圭亞那
689, 0.14%
排名:4, 巴林
14763, 0.17%
排名:5, 留尼汪島
480, 0.2%
排名:6, 中非共和國
1634, 0.3%
排名:7, 尼泊爾
3762, 0.37%
排名:8, 烏茲別克斯坦
4352, 0.39%
排名:9, 馬爾代夫
1903, 0.42%
排名:10, 哈薩克斯坦
12859, 0.43%
排名:11, 盧旺達
439, 0.45%
排名:12, 加納
9638, 0.45%
排名:13, 阿曼
17486, 0.46%
排名:14, 莫桑比克
424, 0.47%
排名:15, 冰島
1807, 0.55%
排名:16, 白俄羅斯
49453, 0.55%
排名:17, 幾內亞
4117, 0.55%
排名:18, 斯里蘭卡
1835, 0.59%
排名:19, 開曼羣島
164, 0.6%
排名:20, 巴勒斯坦
472, 0.63%
排名:21, 贊比亞
1089, 0.64%
排名:22, 吉布提
4207, 0.66%
排名:23, 加蓬
3101, 0.67%
排名:24, 沙特阿拉伯
101914, 0.69%
排名:25, 阿拉伯聯合酋長國
38808, 0.71%
排名:26, 哥斯達黎加
1318, 0.75%
排名:27, 湖北以外
16499, 0.8%
排名:28, 蘇里南
122, 0.81%
排名:29, 馬達加斯加
1094, 0.82%
排名:30, 科威特
32510, 0.82%
排名:31, 幾內亞比紹
1368, 0.87%
排名:32, 斯威士蘭
333, 0.9%
排名:33, 佛得角
554, 0.9%
排名:34, 馬拉維
438, 0.91%
排名:35, 赤道幾內亞
1306, 0.91%
排名:36, 委內瑞拉
2377, 0.92%
排名:37, 科特迪瓦
3739, 0.96%
排名:38, 巴拉圭
1135, 0.96%
排名:39, 塔吉克斯坦
4529, 1.05%
排名:40, 塞內加爾
4427, 1.1%
排名:41, 約旦
808, 1.11%
排名:42, 吉爾吉斯斯坦
2032, 1.13%
排名:43, 阿塞拜疆
7553, 1.16%
排名:44, 南蘇丹
1604, 1.18%
排名:45, 馬約特
2079, 1.2%
排名:46, 布隆迪
83, 1.2%
排名:47, 列支敦士登
82, 1.21%
排名:48, 俄羅斯
476658, 1.25%
排名:49, 埃塞俄比亞
2020, 1.33%
排名:50, 孟加拉國
68504, 1.35%
排名:51, 貝寧
288, 1.38%
排名:52, 澳大利亞
7265, 1.4%
排名:53, 馬來西亞
8329, 1.4%
排名:54, 津巴布韋
282, 1.41%
排名:55, 科摩羅
141, 1.41%
排名:56, 文萊
141, 1.41%
排名:57, 馬耳他
630, 1.42%
排名:58, 新西蘭
1504, 1.46%
排名:59, 海地
3334, 1.52%
排名:60, 亞美尼亞
13325, 1.58%
排名:61, 格魯吉亞
810, 1.6%
排名:62, 智利
134150, 1.63%
排名:63, 以色列
17915, 1.66%
排名:64, 牙買加
598, 1.67%
排名:65, 阿富汗
20917, 1.76%
排名:66, 薩爾瓦多
3104, 1.77%
排名:67, 鑽石公主號郵輪
712, 1.82%
排名:68, 斯洛伐克
1530, 1.83%
排名:69, 泰國
3119, 1.85%
排名:70, 塞浦路斯
964, 1.86%
排名:71, 利比亞
256, 1.95%
排名:72, 巴基斯坦
103671, 1.99%
排名:73, 南非
48285, 2.06%
排名:74, 塞爾維亞
11823, 2.1%
排名:75, 剛果(金)
4106, 2.14%
排名:76, 黎巴嫩
1331, 2.25%
排名:77, 韓國
11814, 2.31%
排名:78, 聖多美和普林西比
513, 2.33%
排名:79, 拉脫維亞
1088, 2.38%
排名:80, 巴拿馬
16425, 2.39%
排名:81, 緬甸
243, 2.46%
排名:82, 博茨瓦納
40, 2.5%
排名:83, 摩洛哥
8250, 2.52%
排名:84, 多哥
495, 2.62%
排名:85, 喀麥隆
7908, 2.68%
排名:86, 烏拉圭
845, 2.72%
排名:87, 盧森堡
4039, 2.72%
排名:88, 阿爾巴尼亞
1246, 2.72%
排名:89, 多米尼加
19600, 2.74%
排名:90, 土耳其
170132, 2.75%
排名:91, 黑山
324, 2.77%
排名:92, 祕魯
196515, 2.78%
排名:93, 挪威
8547, 2.78%
排名:94, 印度
258090, 2.79%
排名:95, 伊拉克
12366, 2.79%
排名:96, 尼日利亞
12486, 2.83%
排名:97, 烏克蘭
27462, 2.9%
排名:98, 阿根廷
22794, 2.91%
排名:99, 毛里求斯
337, 2.96%
排名:100, 阿魯巴
101, 2.97%
排名:101, 肯尼亞
2767, 3.03%
排名:102, 哥倫比亞
39236, 3.2%
排名:103, 剛果(布)
683, 3.22%
排名:104, 捷克
9629, 3.4%
排名:105, 玻利維亞
13643, 3.4%
排名:106, 索馬里
2334, 3.55%
排名:107, 愛沙尼亞
1940, 3.55%
排名:108, 摩爾多瓦
9700, 3.56%
排名:109, 危地馬拉
7055, 3.57%
排名:110, 埃及
34079, 3.62%
排名:111, 古巴
2191, 3.78%
排名:112, 岡比亞
26, 3.84%
排名:113, 奧地利
16968, 3.96%
排名:114, 摩納哥
99, 4.04%
排名:115, 洪都拉斯
6327, 4.07%
排名:116, 尼加拉瓜
1118, 4.11%
排名:117, 坦桑尼亞
509, 4.12%
排名:118, 立陶宛
1720, 4.12%
排名:119, 敘利亞
141, 4.25%
排名:120, 葡萄牙
34693, 4.26%
排名:121, 波蘭
26780, 4.33%
排名:122, 安哥拉
91, 4.39%
排名:123, 菲律賓
22474, 4.49%
排名:124, 突尼斯
1087, 4.5%
排名:125, 芬蘭
7001, 4.61%
排名:126, 克羅地亞
2247, 4.62%
排名:127, 德國
185869, 4.72%
排名:128, 庫拉索
21, 4.76%
排名:129, 伊朗
173832, 4.8%
排名:130, 丹麥
11948, 4.92%
排名:131, 塞拉利昂
969, 4.95%
排名:132, 北馬其頓
3025, 5.05%
排名:133, 毛里塔尼亞
1049, 5.24%
排名:134, 日本
17220, 5.33%
排名:135, 巴西
691962, 5.39%
排名:136, 中國
84634, 5.48%
排名:137, 美國
2007531, 5.6%
排名:138, 保加利亞
2727, 5.86%
排名:139, 馬裏
1533, 5.87%
排名:140, 印度尼西亞
32033, 5.87%
排名:141, 蘇丹
6081, 5.9%
排名:142, 波黑
2704, 5.91%
排名:143, 布基納法索
889, 5.96%
排名:144, 安道爾
852, 5.98%
排名:145, 希臘
2997, 6%
排名:146, 聖馬力諾
680, 6.17%
排名:147, 瑞士
30972, 6.2%
排名:148, 百慕大
141, 6.38%
排名:149, 羅馬尼亞
20604, 6.47%
排名:150, 湖北
68135, 6.62%
排名:151, 愛爾蘭
25201, 6.66%
排名:152, 尼日爾
973, 6.68%
排名:153, 特立尼達和多巴哥
117, 6.83%
排名:154, 馬提尼克
202, 6.93%
排名:155, 阿爾及利亞
10154, 6.96%
排名:156, 馬恩島
336, 7.14%
排名:157, 斯洛文尼亞
1485, 7.34%
排名:158, 巴巴多斯
92, 7.6%
排名:159, 圭亞那合作共和國
154, 7.79%
排名:160, 加拿大
95699, 8.15%
排名:161, 海峽羣島
563, 8.17%
排名:162, 乍得
837, 8.24%
排名:163, 特克斯和凱科斯羣島
12, 8.33%
排名:164, 利比里亞
359, 8.35%
排名:165, 厄瓜多爾
43120, 8.39%
排名:166, 瓜德羅普
164, 8.53%
排名:167, 蒙特塞拉特
11, 9.09%
排名:168, 西班牙
288630, 9.4%
排名:169, 瑞典
44730, 10.41%
排名:170, 伯利茲
19, 10.52%
排名:171, 巴哈馬
103, 10.67%
排名:172, 安提瓜和巴布達
26, 11.53%
排名:173, 墨西哥
117103, 11.69%
排名:174, 英屬維爾京羣島
8, 12.5%
排名:175, 荷蘭
47574, 12.63%
排名:176, 匈牙利
4014, 13.65%
排名:177, 英國
286194, 14.16%
排名:178, 意大利
234998, 14.42%
排名:179, 比利時
59348, 16.18%
排名:180, 法國
153977, 18.93%
排名:181, 聖馬丁島
77, 19.48%
排名:182, 也門
484, 23.14%
Operation done successfully

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章