2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python で Tweet の位置情報をヒートマップを用いて可視化しよう!(folium版)

Last updated at Posted at 2022-06-06

はじめに

「Python で Twitter の位置情報収集」で集めた Tweet の位置情報を可視化していきたい。今回はキーワードを "beer" として 2022年5月23日、24日、25日の間につぶやかれた位置情報を取得し、これを可視化してみる。データの取得方法については上記記事を確認されたし。

cartopy でヒートマップを作る方法はPython で Tweet の位置情報をヒートマップで可視化しよう!(cartopy版)に記載済み。前半部分は上記記事と全く同じ。

データの読み込みと結合

まず収集したデータを読み込み、三つのデータフレームを結合する。

データ読み込みと結合
# 必要なモジュールのインポート
import pandas as pd

# データの読み込み
df1 = pd.read_csv("./20220523_beer.csv")
df2 = pd.read_csv("./20220524_beer.csv")
df3 = pd.read_csv("./20220525_beer.csv")

# データ結合
df = pd.concat([df1, df2, df3])

# 結果の表示
df.head()

出力は下記の通り。

cartopy_heatmap_data.png

データフレームのサイズを確認してみると、

データセット確認
# サイズ確認
print(df.shape)
出力
(5788, 5)

約5800行程度の位置情報がある。

folium でヒートマップを作る

folium にはヒートマップのプラグインがすでに用意されている。以下に参考記事を示す。

コードはシンプルで簡単。

ヒートマップの作成
# 必要なモジュールをインポート
from folium import Map
from folium.plugins import HeatMap

# 地図の作成(中心は日本)
m = Map(location=[35.658581, 139.745433], zoom_start = 2)

# ヒートマップの作成
HeatMap(
    df[["lat", "long"]].values, # 緯度・経度のリスト
    radius=4, # ヒートマップの点の半径。
    blur=3 # ぼかしの程度
).add_to(m)

# 図の保存
m.save('heatmap.html')

folium_heatmap.png

やはりアメリカ、ヨーロッパ、日本で多く beer とつぶやかれており、特にロンドン、ニューヨーク付近で色が赤に近くなっているのがわかると思う。folium の html は開くと拡大縮小、移動ができるので、日本なら東京と大阪に beer のつぶやきが多いのがわかる。

おわりに

folium を使うと簡単にヒートマップを作成することができた。ほかにもいくつかプラグインがあるようなので、時間があればいろいろと試してみたいと思う。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?