Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

つとむ先生のpandasドリル【先頭2行と末尾1行を確認するには?】

f:id:kenken0326:20191120155456p:plain

問題:tsutomu 編集:kenken こんにちはPyQチームです。 pandasドリル第2回の問題は「先頭2行と末尾1行を確認するには?」です。

つとむ先生の紹介

20数年、最適化関連の案件に従事するビープラウドの技術士(情報工学)。2014年より最適化のモデル作成にPythonを使い始め、効率的に開発できるようになる。東京海洋大学、青山学院大学、慶應義塾大学に非常勤講師としての勤務経験がある。また、オペレーションズ・リサーチ学会に約30年所属し、理事を2期務めた。
主な著書はモデリングの諸相Python言語によるビジネスアナリティクス今日から使える!組合せ最適化データ分析ライブラリーを用いた最適化モデルの作り方

問題

f:id:kenken0326:20191021153602p:plain
tsutomu DataFrameの先頭2行と末尾1行を確認するにはどうすれば良いでしょう?

DataFrame

import pandas as pd
df = pd.DataFrame(
    [
        ['Alice', '国語', 87],
        ['Alice', '算数', 72],
        ['Bob', '国語', 65],
        ['Bob', '算数', 92],
    ],
    columns=['Name', 'Subject', 'Point'])

回答・解説

df[:2]
df[-1:]

結合したDataFrameとする場合は、pd.concat([df[:2], df[-1:]])でも可能

JupyterNotebook上で下記のようにdisplayを使うと、1セルの中で複数オブジェクトを表示できます。


display(df[:2])
display(df[-1:])

まとめ

DataFrameから行を抜き出すにはPythonのスライス[…:…]が使えます。 またJupyterNotebookで、セルの最後の要素(式など)の評価だけだと、1セルで1つの値しかわかりません。 displayを使うと任意に値を確認できるので、今回のように複数のDataFrameをforループで確認したいときなどに便利です。

pandasドリルとは?

プロのPythonエンジニアにPythonの質問ができる[PyQスタンダードプラン](https://pyq.jp/pricing/)に寄せられた質問の中から、pandasについての質問をクイズ形式で紹介する連載です。 問題を解くことでpandasへの理解を深められます。また、pandasドリルのカテゴリーページを定期的に見直せば、反復練習もできますよ。

pandas

財務、統計、その他多くの工学分野でのデータ処理ができるライブラリです。 とくにデータの読み込み、集計、加工、絞り込みなどの機能を利用したり、データ分析のための前処理 をするのに役立ちます。
主にSeries(1次元:リスト のような形式)とDataFrame(2次元:表のような形式)というデータ構造を利用します。 URL:https://docs.pyq.jp/python/pydata/pandas/index.html?highlight=pandas

前回の問題

第1問【1列だけのDataFrame】はこちらをご覧ください。

blog.pyq.jp

Copyright ©2017-2019 BeProud Inc. All rights reserved.