0Pricing
Python Academy · レッスン

Series と DataFrame の基礎

さまざまなデータソースから Pandas のデータ構造を作成し、確認します。

「Series と DataFrame の基礎」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。

Pandasとは

Pandasは、NumPyを基盤としてデータ分析向けに最適化されたSeries(1次元のラベル付き配列)とDataFrame(2次元のラベル付きテーブル)を提供します。

import pandas as pd

s = pd.Series([10, 20, 30], index=["a","b","c"])
print(s)
# a    10
# b    20
# c    30

Seriesの作成

リスト、辞書、またはスカラーからSeriesを作成します。インデックスはデフォルトで0始まりの整数になります。

import pandas as pd

# From list:
s1 = pd.Series([1, 2, 3])

# From dict (keys become index):
s2 = pd.Series({"x": 10, "y": 20})

# Scalar (broadcast):
s3 = pd.Series(5, index=range(4))
print(s3)   # 0 5 / 1 5 / 2 5 / 3 5

DataFrameの作成

リストの辞書、辞書のリスト、またはNumPy配列からDataFrameを作成します。

import pandas as pd

df = pd.DataFrame({
    "name": ["Alice","Bob","Carol"],
    "age":  [30, 25, 35],
    "score":[95.5, 87.0, 92.3]
})
print(df)

基本的な確認

head()、tail()、shape、dtypes、info()、describe()は、新しいデータセットを扱う際の最初の手順です。

import pandas as pd

df = pd.read_csv("data.csv")
print(df.head())       # first 5 rows
print(df.shape)        # (rows, cols)
print(df.dtypes)       # column types
print(df.describe())   # count, mean, std, min...

列へのアクセス

ドット記法または角括弧で列にアクセスします。列名に空白が含まれている場合や、DataFrameの属性名と競合する場合、ドット記法は使えません。

import pandas as pd

df = pd.DataFrame({"age":[30,25], "city":["NY","LA"]})
print(df["age"])       # preferred
print(df.age)          # also works if name is simple
print(df[["age","city"]])  # multiple columns

インデックスの基本

インデックスは行にラベルを付けます。デフォルトでは 0、1、2... ですが、ハッシュ可能な任意の値を設定できます。

import pandas as pd

df = pd.DataFrame({"val":[10,20,30]}, index=["a","b","c"])
print(df.loc["b"])     # row with label b
print(df.index)        # Index(['a','b','c'])

# Reset to default integer index:
df.reset_index(drop=True, inplace=True)

列の追加と削除

新しいキーに代入すると列を追加できます。列を削除するには drop() を使用します。

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})
df["c"] = df["a"] + df["b"]   # new column
df.drop(columns=["b"], inplace=True)
print(df)

Series のアラインメント

Series を結合するとき、Pandas はインデックスに基づいて位置をそろえます。一致するものがない場合は NaN になります。

import pandas as pd

s1 = pd.Series([1,2,3], index=["a","b","c"])
s2 = pd.Series([10,20], index=["b","c"])
print(s1 + s2)
# a     NaN
# b    12.0
# c    23.0

to_dict と to_list

DataFrame または Series を、エクスポートや確認に使える標準的な Python のデータ構造に戻します。

import pandas as pd

df = pd.DataFrame({"x":[1,2],"y":[3,4]})
print(df.to_dict("records"))
# [{'x': 1, 'y': 3}, {'x': 2, 'y': 4}]

print(df["x"].to_list())
# [1, 2]

ファイルの読み込み

Pandas では、CSV、Excel、JSON、Parquet、SQL のデータを DataFrame に直接読み込めます。

import pandas as pd

df_csv    = pd.read_csv("data.csv")
df_excel  = pd.read_excel("data.xlsx", sheet_name="Sheet1")
df_json   = pd.read_json("data.json")
df_parq   = pd.read_parquet("data.parquet")
# pd.read_sql("SELECT * FROM table", conn)

ファイルの書き込み

DataFrame を CSV、Excel、JSON、Parquet にエクスポートします。

import pandas as pd

df = pd.DataFrame({"a":[1,2],"b":[3,4]})
df.to_csv("out.csv", index=False)
df.to_json("out.json", orient="records")
df.to_parquet("out.parquet")

確認問題

df.describe() は何を返しますか。

復習

Series は 1 次元のラベル付き配列で、DataFrame は 2 次元のラベル付きテーブルです。df["col"] で列にアクセスします。簡単な確認には head()、describe()、info() を使用します。組み込み関数を使って CSV、Excel、JSON、Parquet の読み書きができます。

よくある質問

「Series と DataFrame の基礎」レッスンは無料ですか?

はい。「Series と DataFrame の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。

「Series と DataFrame の基礎」で何を学びますか?

さまざまなデータソースから Pandas のデータ構造を作成し、確認します。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Series と DataFrame の基礎」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Series と DataFrame の基礎
  2. インデックス指定、フィルタリング、ブールマスク
  3. GroupBy、集約、ピボットテーブル
  4. マージ、結合、データクリーニング
← Python Academyに戻る