パナマ文書に登場する市町村ランキング


無駄な仕事をしてみた。
オフショアリークスとパナマ文書のデータから日本在住者の住所をコピペして、
エディタの置換と抜き出しとエクセルとを行き来して、市区町村ごとに集計してみた。

↓ 元データはここね

offshoreleaks.icij.org/search?c=JPN&cat=3
なんていうか30分ぐらいで終わるとおもったら色々こころがくじけて2日ぐらい掛かった。(貴重な余暇時間がぁ)
アルファベットで適当に表記された住所の名寄せがこんなにしんどいなんて思いもしなかったんだ。

 

外人が適当にヒアリングして綴ったような住所から、読み間違えで登録された住所だらけでわっはーい!ってなった。ったく、中央区の綴りの自由さといったら!!!!

なんで名古屋市の人は、住所表記に愛知県とつけないだろうか・・・!

 

kaminakawa ken → 神奈川県だなとか、他の情報から類推できるところは埋めています。
TADOKU YARAGIBASHI→ 台東区の柳橋かな? (検索で頑張りました
TWADE→岩出市 TとIのタイポかな・・・?
NANQIANZHU→google先生が南千住だっていうんだ!

IZUMIGAO市→福岡県に泉ヶ丘市でもあるのかとおもったらねぇので諦めた!

 

こんな感じでの適当にまるめています。
市区町村名はよくわからないところは適当です。かなり実在性が疑われます。いまはなき田無市と西東京市が混在しているけど、そんなのは許して。

 

DONG JING DU GANG QU
Treinta
machilda
Jinggang
Fu Shan Hsien
?????????????
Qingsen
Laiming Chuan
P O Box

ビル番地名しかかかれておらず市町村名と都道府県名が同時にないものはデータから弾きました。20件ぐらいかな?
・・・。
なんだろう。
おれはなにをしたんだろう。別にこんなことがしたかったわけじゃないのだ・・・が。

 

まあ、データ・・・。
はいよ。
やっぱ港区がダントツなんだね。

総合計 792
港区 東京都 99
渋谷区 東京都 44
横浜市 神奈川県 32
世田谷区 東京都 30
千代田区 東京都 28
大阪市 大阪府 25
中央区 東京都 24
新宿区 東京都 20
名古屋市 愛知県 20
品川区 東京都 18
目黒区 東京都 17
神戸市 兵庫県 16
杉並区 東京都 15
川崎市 神奈川県 14
文京区 東京都 13
江東区 東京都 9
大田区 東京都 9
さいたま市 埼玉県 8
仙台市 宮城県 8
板橋区 東京都 8
江戸川区 東京都 7
堺市 大阪府 7
千葉市 千葉県 7
足立区 東京都 7
福岡市 福岡県 7
市川市 千葉県 6
中野区 東京都 6
豊島区 東京都 6
練馬区 東京都 6
芦屋市 兵庫県 5
浦安市 千葉県 5
荒川区 東京都 5
松戸市 千葉県 5
武蔵野市 東京都 5
鎌倉市 神奈川県 4
岐阜市 岐阜県 4
札幌市 北海道 4
吹田市 大阪府 4
台東区 東京都 4
町田市 東京都 4
藤沢市 神奈川県 4
野田市 千葉県 4
甲府市 山梨県 3
鯖江市 福井県 3
所沢市 埼玉県 3
船橋市 千葉県 3
調布市 東京都 3
長崎市 長崎県 3
尼崎市 兵庫県 3
柏市 千葉県 3
豊田市 愛知県 3
立川市 東京都 3
つくば市 茨城県 2
伊丹市 兵庫県 2
宇都宮市 栃木県 2
岡山市 岡山県 2
葛飾区 東京都 2
茅ヶ崎市 神奈川県 2
牛久市 茨城県 2
香芝市 奈良県 2
今治市 愛媛県 2
三鷹市 東京都 2
鹿児島市 鹿児島 2
春日井市 愛知県 2
昭島市 東京都 2
上越市 新潟県 2
生駒市 奈良県 2
西京区 京都府 2
西多摩郡 東京都 2
川越市 埼玉県 2
川口市 埼玉県 2
泉佐野市 大阪府 2
大津市 滋賀県 2
長岡京市 京都府 2
鳥取市 鳥取県 2
田無市 東京都 2
八戸市 青森県 2
八千代市 千葉県 2
飯田市 長野県 2
府中市 東京都 2
伏見区 京都府 2
平塚市 神奈川県 2
豊中市 大阪府 2
揖保郡 兵庫県 2
和歌山市 和歌山県 2
熊本県 1
広島県 1
東京都 1
徳島県 1
IZUMIGAO市 福岡県 1
みよし市 広島県 1
阿南市 徳島県 1
愛知市 三重県 1
虻田郡 北海道 1
伊佐市 埼玉県 1
伊勢崎市 群馬県 1
伊那市 長野県 1
伊万里市 佐賀県 1
一宮市 愛知県 1
稲城市 東京都 1
稲敷郡 茨城県 1
羽島郡 岐阜県 1
横須賀市 神奈川県 1
沖縄市 沖縄県 2
乙訓郡 京都府 1
下京区 京都府 1
下津賀郡 栃木県 1
花巻市 岩手県 1
橿原市 奈良県 1
鎌倉 神奈川県 1
岩出市 和歌山県 1
岩沼市 宮崎県 1
久喜市 埼玉県 1
宮崎市 宮崎県 1
京都市 京都府 1
境八代郡 山梨県 1
玉名郡 熊本県 1
金沢市 石川県 1
釧路市 北海道 1
熊谷氏 埼玉県 1
熊本市 熊本県 1
群馬郡 群馬県 1
交野市 大阪府 1
厚木市 神奈川県 1
広島市 広島県 1
高岡市 富山県 1
高松市 香川県 1
高松市 神奈川県 1
高知市 高知県 1
高槻市 大阪府 1
国立市 東京都 1
黒川郡 宮城県 1
狛江市 東京都 1
佐倉市 千葉県 1
左京区 京都府 1
桜井市 奈良県 1
三木市 兵庫県 1
山口市 山口県 1
山武郡 千葉県 1
四條畷市 大阪府 1
児玉市 大阪府 1
習志野市 千葉県 1
春日部市 埼玉県 1
小金井市 東京都 1
小牧市 愛知県 1
松原市 大阪府 1
松山市 愛媛県 1
松本市 長野県 1
上尾市 埼玉県 1
常陸太田市 茨城県 1
寝屋川市 大阪府 1
新潟市 新潟県 1
逗子市 神奈川県 1
西宮市 兵庫県 1
西東京市 東京都 1
西白河郡 福島県 1
西和田市 大阪府 1
静岡市 静岡県 1
石巻市 宮城県 1
浅口郡 岡山県 1
前橋市 群馬県 1
匝瑳市 千葉県 1
相模原市 神奈川県 1
草加市 埼玉県 1
足柄下郡 神奈川県 1
多治見市 岐阜県 1
多摩市 広島県 1
多摩市 東京都 1
対馬市 愛知県 1
大崎市 宮城県 1
大和市 神奈川県 1
秩父市 埼玉県 1
中京区 京都府 1
朝霞市 埼玉県 1
長久手市 愛知県 1
津市 三重県 1
津島市 愛知県 1
天理市 奈良県 1
唐津市 佐賀県 1
藤津郡 佐賀県 1
那賀郡 三重県 1
那覇市 沖縄県 1
南埼玉群 埼玉県 1
南東区 大阪府 1
南豊橋市 愛知県 1
日高市 埼玉県 1
日野市 東京都 1
入間市 埼玉県 1
白井市 千葉県 1
八王子市 東京都 1
八代市 熊本県 1
尾張旭市 愛知県 1
富里市 千葉県 1
福山市 広島県 1
別府市 大分県 1
防府市 山口県 1
北九州市 福岡県 1
北区 東京都 1
北勝浦郡 奈良県 1
墨田区 東京都 1
枚方市 大阪府 1
箕面市 大阪府 1
名取市 宮城県 1
木更津市 千葉県 1
門真市 大阪府 1
野田市 京都府 1
蓮田市 埼玉県 1
さいたま市 埼玉県 8
徳島県 1
東京都 1
広島県 1
熊本県 1

 

なんか同じデータを集計してくれてないんですが、なんでしょう。
はー、マルチソートが失敗してる・・・。
まあ、もう心折れた。 → (追記 5/12 一晩寝たら回復したので最低限データ綺麗にしておいた。)

 

ついでに、都道府県ランキング。

東京都 413
神奈川県 66
大阪府 51
千葉県 42
愛知県 32
兵庫県 30
埼玉県 27
京都府 12
宮城県 12
福岡県 9
奈良県 8
北海道 6
岐阜県 6
茨城県 6
広島県 5
長野県 4
山梨県 4
熊本県 4
和歌山県 3
福井県 3
栃木県 3
長崎県 3
新潟県 3
三重県 3
佐賀県 3
群馬県 3
沖縄県 3
岡山県 3
愛媛県 3
徳島県 2
鳥取県 2
青森県 2
鹿児島 2
滋賀県 2
山口県 2
宮崎県 2
福島県 1
富山県 1
大分県 1
石川県 1
静岡県 1
高知県 1
香川県 1
岩手県 1

住所が同じで別の人や会社で登場すると、複数カウントされてしまうので(東京なんかはまさにそんな感じ)あくまで、数はご参考までに。パナマ文書、オフショアリークスに登場しない県は「島根県、秋田県、山形県」の三県でした!!

 

 

いいのか悪いのかなんなのか。

鳥取県でもお金持ちはいるのにと、鳥取で乗ってた住所をグーグル・ストリートビューでみてみると、
綺麗なお家の向かいが偉いことになってて思わずスクショ。

2016-05-10 19_29_36-設定

なんつうスポット地域格差社会。まあ、空き家なんだろうけど。

フスマは猫かな??でも、左側のドアの窓も割れてるしな・・・。木の生え具合いとか、雨樋の無事具合いからみても、まだ新しそうなのに、、、まあ、自分の地元の住所とかストリートビューはすでに家ごとボカシが入ってるし、アンタッチャブルな案件だろうので、みなさま大人対応でよろしく。

 


楽しめる人のほうが少なそうなゲームEmpire of Code


楽しい。
clash of clans(クラッシュオブクラン)に代表されるタワーディフェンスゲームにプログラミングの要素が加わったゲームがでた。Empire of Code いつでたのかはわかんない。これを作成したのが、checkio.orgと同じところだというので絶対時間奪われると思っていたのだけど、やり始めてしまった。

 

empireofcode
empireofcode.com/game/
checkioはPythonでしか書けなかったけど、empireofcodeはjavascriptも選べるので自分はjs側を選択した。
結局ゴールデンウイークはこれと、会社のパソコンが身代金Rockyウイルスでロックされてしまってメールにアクセスできないタスケテ!!っていう対応で奪われてしまった・・・。流行ってるみたいだから、みんなバック・アップしておこうね・・・。

 

 

さて、今みてみたら、checkioで遊んだのはもう2年2ヶ月前、Lv7まで遊んで放置したようだ。画面もずいぶん変わっていたのでバージョンアップしてまだ続いているみたい。一週間か1ヶ月か遊んで後半の問題をみて俺にはこれ以上先はしんどいなーと放置しちゃった気がする。

checkio

checkio.org/user/kuippa/
世界だとTopCoder、日本だとAtCoderとかに代表されるような競技プログラミングの世界があるのだが、個人的には詰将棋をやっているみたいで好きじゃない。反覆練習かって感じ。チューニングみたいなことを趣味でやりたくないし、人が考えた課題で先人達が上手くやっているにようなことに取り組むのはいまいち気乗りしないのだ。

みんなで車輪の再発明して職人芸を競うのには紅茶屋さんなので残念ながら興味もてないのだ。
クリアがないタワーディフェンス系のゲームは正直ゲームとしてはあまり面白くない。

使った時間と課金勢バンザイになるからだ。惰性でやめられなくなってる系。

ただ、このゲームでは課金の変わりに「プログラミング」があって、ユニットの索敵破壊アルゴリズムや、パワーアップが直接編集できたり、コードクイズを解くことで進化させることができる。

2016-05-07 14_43_27-新しい通知

 

最初の自分の兵隊ユニットのロジックが突撃&破壊とあまりにもバカすぎるのでロジックを一生懸命弄ってたのだけど、

  • askUnitsで一番最初に登場したユニットは他の仲間ユニットが参照できない
  • doMove、doMovesで移動中にdoAttackをいれちゃうと移動がキャンセルされる
  • 移動が終わるまでまってから攻撃をいれようとするとwhenIdleは一回しかコールされない

 

など、作りこみに限界と難があって。苦労する。自分は戦闘ユニットのロジック変更から入ってしまったけど、やらなくてよかったかもしれない。ストラテジーは必要最低限いじるだけに留めて、基地のバージョンアップをさせていったほうがいい。
デベロップメントクイズは、いまのところまだ簡単な問題がおおい。
さくっと合間時間に解けるので息抜きになる。
ただPlace Queensだけ、うへーーってなった。
8×8のチェスボードに縦横自由に動けるクイーン駒を8つ、互いにぶつからないように配置しなさいというクイズ。

例えば

placeQueens([“b2”, “c4”, “d6”, “e8”])

と渡されたら、

[“a5”, “f3”, “g1”, “h7”]

を返しなさいって感じ。
これが、予想外にいろいろな出題パターンが出現して結構悩ましく苦戦した。

 

codegolf

codegolfという問題があるのだが、コレが自分には未知の世界すぎてホンゲー!!?ってなる。

できるだけ少ない文字数でプログラミングをしなさいというジャンルなのだけど、Perl書きでもるまいし、このリソースリッチな時代に可読性下げてまでコードを短くする意味どこまであるのか知らないけど、このジャンルに苦戦している。

 

例えば、

For example: The number given is 123405. The result will be 1*2*3*4*5=120.

という問題があったとして、これを70文字以内に実装できればOKという問題。
これは、こんな風に書いた。

function golf(n){r=1;for(v of(n+””).match(/[1-9]/g)){r*=v};return r;}

解き方は人によって千差万別だろうが、正直自分で書いて気持ち悪い。三項演算子とかすら嫌いなので、こういうのヤダ。正規表現とか嫌い。
なんだこの変態ジャンルは。

golf

Weak Pointは、与えられた2次元配列にたいして縦、横の合計が一番少ない数字を返せって問題。

普通に書けばこんな感じ

 

"use strict";
function golf(m) {
    l=m.length;
    p=m[0].length;
    sumr = new Array(l);
    sumc = new Array(p);
    sumr.fill(0);
    sumc.fill(0);
    for (var i=0;i<l;i++) {
        for (var j=0;j<p;j++) {
            sumr[i] += m[i][j];
            sumc[j] += m[i][j];
        }
    }
    // console.log(sumr + "/" + sumc);
    return [sumr.indexOf(Math.min.apply([],sumr)),sumc.indexOf(Math.min.apply([],sumc))];
}

ちょっと意識して短く書いたつもりだけどこれで、スペース込みで408文字。303文字


function golf(m){
    l=m.length;
    r=Array(l).fill(0);
    c=r.concat();
    for(i=l;i--;){
        for(j=l;j--;){
            r[i]+=m[i][j];
            c[j]+=m[i][j];
           
        }

    }
    return [x(r),x(c)]
}
function x(r){return r.indexOf(Math.min.apply([],r))}

変数の宣言を省略したり、concat()をつかってシャローコピーしたり、for文を–でデクリメントしたり、一個だけ関数をつくって外出ししたりして文字を稼ぐ。
これでスペース込みで265文字。186文字
ここから要らないスペースを取り除く。

function golf(m){l=m.length;r=Array(l).fill(0);c=r.concat();for(i=l;i--;){for(j=l;j--;){r[i]+=m[i][j];c[j]+=m[i][j];}}return [x(r),x(c)]}
function x(r){return r.indexOf(Math.min.apply([],r))}

 

スペース込みで190文字。186文字

Rank1:Any code length.
Rank2:Your code should be shorter than 175 characters.
Rank3:Your code should be shorter than 125 characters.

ここまでやってRank2もとれない!!

 

l=m.length;
r=Array(l).fill(0);

を1行にまとめて

r=Array(l=m.length).fill(0);

これで2文字切り詰めて、

c=r.concat();

c=r.slice();

にして1文字稼ぐ。

Math.min.apply([],r)

Math.min.apply(0,r)

にできるのでこれでも1文字稼いで…

こんなんしてもまだRank1で、rank3になるにはさらに70文字削らなきゃいけないって気がついて、この路線無理!!ってなった。乾いた雑巾絞りすぎだろ。ちぎれるわ!!
でも、他のやりかたを考えると、かえって文字数が増える。ふんごーってなってます。
ループを使わずにeval(m[i].join(‘+’));とかなんだろうけど、2次元配列のピボットのショートカット手段が思い浮かばない。なんか、解けてもバッドノウハウの塊になりそうだよね。

 

これで躓いて、コードゴルフ問題が今何問も溜まってます。
このブログの文章よろしく、短く書くってことに思考を割いてこなかったのでちょっと苦労してます。

で、こんなゲームだれが楽しめるんじゃろ。ま、楽しいんだけど。

 

 

(追記)

function golf(m){
    r=[];
    p=[];
    m.forEach(function(v) {
        p.push(eval(v.join('+')));
        v.forEach(function(e, i) {
            isNaN(r[i])?r.push(e):r[i]+=e;
        });
    });
    return[x(p),x(r)]
}
function x(r){return r.indexOf(Math.min.apply(0,r))}

function golf(m){r=[];p=[];m.forEach(function(v){p.push(eval(v.join(‘+’)));v.forEach(function(e, i){isNaN(r[i])?r.push(e):r[i]+=e;});});return[x(p),x(r)]}
function x(r){return r.indexOf(Math.min.apply(0,r))}

スペース込みで206文字。202文字

長くなっちゃった・・・。

なんか!j?b=a:1;とか無茶な書き方をいっぱいしてチェックしてたらチェックサーバーが落ちちゃって、昨日から帰ってこない。。。