Python データ整理:行の抽出と並べ替え

Python

ニュースで見たインドの火葬の現場、薪を大量に使っていました。

しかし、インドってそんなに森林資源があったかと思ったので、さっそく調べてみました。

データはGlobal Forest Watch のインドから抽出しました。

インドだけでなく、ほかの国々の森林でデータもあるので、森林環境に興味があるのであれば、面白いサイトだと思います。

今回はインドのデータから、過去20年間でインドからどんな理由で森林が失われたかを調べてみました。

この記事はこんな人におすすめ。

  • CSVファイルの読み込み、データの確認をしたい。
  • DataFrameから必要な要素を抽出、並べ替えしたい。

プログラミング無料体験はこちら↓↓↓


CSVファイルの読み込みとデータ確認

まず上のリンクからCSVデータをダウンロード。

年ごとの森林消失面積(ha)データがあるので、そのCSVファイルを読み込んでみますね。

CSVファイルの読み込みは「pandas」による「pd.read_csv()」

import pandas as pd
treecoverloss=pd.read_csv("treecover_loss__ha.csv")
treecoverloss

読み込んだ結果が下の通り。

読みこめてはいるのですが、年の順番がぐちゃぐちゃなので、これをそろえなければいけません。

とりあえず順番にするために必要なのが「.sort_values」で「ascending」を使うのですが、なぜか「=False」としてしまい、降順なるように指定してしまいました。

treecoverloss_asnd = treecoverloss.sort_values("umd_tree_cover_loss__year", ascending=False)
treecoverloss_asnd.head()

で、出力されたDataFrameを見てみると、なぜか同じ年が5つあります。

なので「.groupby()」を使って、どうしてこうなっているのかを調べると、どうやら森林消失の原因は主に6個あり、なぜかすべてを同じ表にぶち込んでいるようですね。

というわけで、表を六つに分割しないとです。

DataFrameから必要な要素を抽出する

とりあえず最初の「Commodity Driven Deforestation」の部分だけを抽出してみましょう。

treecoverloss_comd = treecoverloss.query('tsc_tree_cover_loss_drivers__type == "Commodity driven
     deforestation"')

display(treecoverloss_comd)

抽出できたようですが、年がまたバラバラなのでこれを昇順に直します。

treecoverloss_comd_asnd = treecoverloss_comd.sort_values("umd_tree_cover_loss__year", 
      ascending=True)
display(treecoverloss_comd_asnd)

先ほどは「ascending=False」で降順になってしまったので、今回は「ascending=True」と書きます。

これで何とか必要な要素を抽出できました。

プログラミング無料体験はこちら↓↓↓



関連記事↓↓

Pythonで使うシングルクォーテーションとダブルクォーテーション
Pythonで、シングルクォーテーション(' ')とダブルクォーテーション(" ")をどう使い分ければいいかは初心者的には、結構悩みの種ではないでしょうか。 サンプルコードを見ても、ある時はシングルクォーテーション、ある時はダブルクォ...
Python を使ったスクレイピングから棒グラフの作成
ウェッブサイトから必要な情報を抜き出す、スクレイピングから棒グラフの作成までをやってみました。 簡単かと思えましたが、時間かかってしまったんで今後のためにメモ書いておきます。 この記事はこんな人におすすめ。 ...

 

コメント

タイトルとURLをコピーしました