こんにちはPyQチームです。
pandasドリル第2回の問題は「先頭2行と末尾1行を確認するには?」です。
つとむ先生の紹介
20数年、最適化関連の案件に従事するビープラウドの技術士(情報工学)。2014年より最適化のモデル作成にPythonを使い始め、効率的に開発できるようになる。東京海洋大学、青山学院大学、慶應義塾大学に非常勤講師としての勤務経験がある。また、オペレーションズ・リサーチ学会に約30年所属し、理事を2期務めた。
主な著書はモデリングの諸相、Python言語によるビジネスアナリティクス、今日から使える!組合せ最適化、データ分析ライブラリーを用いた最適化モデルの作り方
問題
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スタンダードプランに寄せられた質問の中から、pandasについての質問をクイズ形式で紹介する連載です。 問題を解くことでpandasへの理解を深められます。また、pandasドリルのカテゴリーページを定期的に見直せば、反復練習もできますよ。
pandas
財務、統計、その他多くの工学分野でのデータ処理ができるライブラリです。
とくにデータの読み込み、集計、加工、絞り込みなどの機能を利用したり、データ分析のための前処理 をするのに役立ちます。
主にSeries(1次元:リスト のような形式)とDataFrame(2次元:表のような形式)というデータ構造を利用します。
URL:https://docs.pyq.jp/python/pydata/pandas/index.html?highlight=pandas
前回の問題
第1問【1列だけのDataFrame】はこちらをご覧ください。