困っている人
- PandasのDataFrame(データフレーム )ってなに?
- PandasのCSVファイルの読み込み方法を知りたい
- CSVファイルの応用的な読み込み方法を教えてほしい
この記事で解決できること
- PandasのDataFrameが「どういうものか」分かる
- PandasにCSVファイルを読み込む方法が分かる
- CSVファイルの応用的な読み込み方法が分かる
目次
DataFrame(データフレーム) とは?
DataFrame(データフレーム)とは、”Excel”や”Spreadsheet”のような表形式(2次元)で情報を管理するデータ構造のことです。
データ分析用のライブラリであるPandasを使って、Excelファイル・CSVファイルからDataFrame形式にデータを変換することで様々な操作が可能です。
PandasのDataFrameでは、大量のデータを高速かつ効率的に処理できるという大きなメリットがあります。データ分析や業務効率化には欠かせない仕組みです。
CSVファイルのシート名を指定した読み込み
CSVファイルの読み込みに必要な「Pandas」をインポートします。
import pandas as pd fruits_df = pd.read_csv('/content/fruits_csv_20201026.csv') fruits_df
- pandasのインポート
- データフレーム (fruits_df)へCSVファイルの読み込み
- データフレーム (fruits_df)を表示
CSVファイルの読み込み(列名なし)
CSVファイルに列名がない場合、自動的に最初の行が列名に指定されます。
”header=None”を指定することで、列名なしで読み込むことができます。
fruits_df1 = pd.read_csv('/content/fruits_csv_20201025.csv',header = None) fruits_df1
- データフレーム (fruits_df1)へ、列名なしでCSVファイルの読み込み
- データフレーム (fruits_df1)を表示
CSVファイルの読み込み(列名を指定)
CSVファイルを読み込む時に、列名(”商品名”、”単価”、”産地”)を指定することができます。
fruits_df2 = pd.read_csv('/content/fruits_csv_20201025.csv',names = ['商品名','単価','産地']) fruits_df2
- データフレーム (fruits_df1)へ、列名を指定してCSVファイルの読み込み
- データフレーム (fruits_df1)を表示
CSVファイルの読み込み(データ型を指定)_全て
データ方を指定しない場合、商品コードが数値に自動的に変換(001→1、002→2、003→3)されてしまいます。
その場合は、データ型をCSVファイルの列の指定のデータ型(object型)を指定して読み込みます。
fruits_df4 = pd.read_csv('/content/fruits_csv_20201027.csv',dtype = object) fruits_df4
- データフレーム (fruits_df4)へ、object型を指定してCSVファイルの読み込み
- データフレーム (fruits_df4)を表示
全てobject型で読み込みできています。
CSVファイルの読み込み(データ型を指定)_列名単位
dtypeを列名単位で指定できます(商品コード→object型、単価→int型)。
fruits_df5 = pd.read_csv('/content/fruits_csv_20201027.csv',dtype = {'商品コード': object, '単価': int}) fruits_df5
- データフレーム (fruits_df5)へ、object型を指定(列名単位)してCSVファイルの読み込み
- データフレーム (fruits_df5)を表示
単価のみint型で読み込みできています。
CSVファイルの列名を指定した読み込み
fruits_df6 = pd.read_csv('/content/fruits_csv_20201027.csv',usecols = ['商品名','単価','産地']) fruits_df6
- データフレーム (fruits_df6)へ、列名を指定してCSVファイルの読み込み
- データフレーム (fruits_df6)を表示
CSVファイルのインデックスを指定した読み込み
インデックス番号の列が自動的に挿入されます。
商品コード(列名)をインデックスに指定して読み込むこともできる
fruits_df7 = pd.read_csv('/content/fruits_csv_20201028.csv',index_col = '商品コード') fruits_df7
- データフレーム (fruits_df7)へ、インデックスを商品コードに指定してCSVファイルの読み込み
- データフレーム (fruits_df7)を表示
CSVファイルの読み込む行数を指定した読み込み
読み込む行数(nrows=3)を指定できます。
fruits_df8 = pd.read_csv('/content/fruits_csv_20201028.csv',nrows = 3) fruits_df8
- データフレーム (fruits_df8)へ、読み込む行数を指定してCSVファイルの読み込み
- データフレーム (fruits_df8)を表示
CSVファイルの読み込む行をスキップした読み込み
指定の行をスキップして読み込みできます。
fruits_df9 = pd.read_excel('/content/fruits_excel_20201028.xlsx',skiprows = [1,2,3]) fruits_df9
- データフレーム (fruits_df9)へ、スキップしたい行数を指定してCSVファイルの読み込み
- データフレーム (fruits_df9)を表示