Python学習チャンネル by PyQ

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

つとむ先生のpandasドリル【1列だけのDataFrame】

f:id:kenken0326:20191021153602p:plain
tsutomu こんにちはPyQチームです。 Python学習チャンネルは新連載pandasドリルを始めます。
f:id:kenken0326:20191021173745p:plain

つとむ先生の紹介

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

pandasドリルとは?

プロのPythonエンジニアにPythonの質問ができるPyQスタンダードプランに寄せられた質問の中から、pandasについての質問をクイズ形式で紹介する連載です。

自分で一度考えて問題を解くことでpandasへの理解を深められます。また、pandasドリルのカテゴリーページを定期的に見直せば、反復練習もできますよ。

pandasドリル第1回の問題は「一列だけDataFrameにするのはどうすれば良いか?」です。

pandas

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

問題

f:id:kenken0326:20191021153602p:plain
tsutomu 下記のようなDataFrame(df) があります。 df['Name']だとSeriesになります。1列だけのDataFrameにするにはどうすれば良いでしょうか?

DataFrame

import pandas as pd
df = pd.DataFrame(
    [
        ['Alice', '国語', 87],
        ['Alice', '算数', 72],
        ['Bob', '国語', 65],
        ['Bob', '算数', 92],
    ],
    columns=['Name', 'Subject', 'Point'])
df  # 内容の確認
Name Subject Point
0 Alice 国語 87
1 Alice 算数 72
2 Bob 国語 65
3 Bob 算数 92

回答・解説

df[ ['Name'] ]

SeriesからDataFrameへの変換には、to_frameメソッドが使えます。
しかし、df['Name'].to_frame()としなくても、df[['Name']]とすれば、1列だけのDataFrameになります。

DataFrameにすることのメリット

DataFrame型にすることで、DataFrameのメンバを使えるようになります。
たとえば、df['Name'].to_csv(ファイル名)はエラーですが、df[['Name']].to_csv(ファイル名)でファイルに保存できます。

pandas関連の過去記事を紹介します

Python学習チャンネルではこれまで「Pythonお悩み解決」でpandasの質問を紹介してきました。 同じ疑問を抱えている人はお悩み解決も読んですっきりしましょう。

blog.pyq.jp

blog.pyq.jp

blog.pyq.jp

Copyright ©2017- BeProud Inc. All rights reserved.