Python 無料で独習 【超特訓】Pandas20本ノック 04

Python
この記事は約3分で読めます。

今回の講義はPandasの操作に関する問題を出されて
それを実際にコードを書いて解いていくという内容です。

特定のテーマに沿った課題に取り組みながら
スキルを向上させていきます。
前準備として、問題に出てくるデータは下記URLから
ダウンロードしておく必要があります。
https://drive.google.com/drive/folders/1oKCLH1D_KXVLJFutxtP1dvzgWNYtoqVi

Pandas 20本ノック

問題その8 重複除去

df_people の nationalityの列に対し、
重複がある値の行を除去した
DataFrameを取得してください。

pandasのメソッドの中には
drop_duplicates() 重複を除去するメソッド
というのがあるらしいです。
tとりあえずそのまま実行してみます。

df_people.drop_duplicates()


そのままのデータが出力されます。
このメソッドは
引数の指定がない場合、全てのカラムで一致しなければ除去されません。
今回のデータではage,id,name,nationalityの全てで
同一のデータが無かったので除去されませでした。
なので、引数にカラムを入れて実行します。

df_people.drop_duplicates(subset = 'nationality')


重複データが除去されました。

問題その9 カラム名変更

dfに対し、各カラム名の「(単位)」部分を削除したカラム名に変更してください。
新しいカラム名
・年月日・最深積雪・平均気温・平均雲量・最高気温・平均蒸気圧・最低気温・平均風速・降水量の合計・日照時間

今回の問題に関しては変更する値がそれほど多くないので
df.columns でカラムのリストを取得、
Index(['年月日', '平均気温(℃)', '最高気温(℃)', '最低気温(℃)', '降水量の合計(mm)', '最深積雪(cm)',

df.columns = ['年月日', '平均気温', '最高気温', '最低気温', '降水量の合計', '最深積雪',
       '平均雲量', '平均蒸気圧', '平均風速', '日照時間']
df


今回の例題では全てのカラム名を変更しましたが、
ピンポイントで特定のカラム名を変更できるのが
rename()だそうです。

たとえば平均気温を平均と変更する場合、
変更前の名前と変更後の名前を辞書型で渡します。

df.rename(columns ={'平均気温':'気温'})


このrenameですが、注意点がありまして
このままでは元のデータフレームは変更されません。
元のデータフレームを変更したい場合は
df = df.rename(columns ={'平均気温':'気温'})
として代入する必要があるそうです。

コメント

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