Python入門!len関数で10倍速くデータ解析する方法

Pythonのlen関数を使ってデータ解析を10倍速くする方法を学ぶPython
この記事は約11分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Pythonは世界中のエンジニアによって広く利用されているプログラミング言語であり、その理由の一つに、標準ライブラリや組み込み関数が提供する豊富な機能が挙げられます。

今回はその中でも基本的な関数の一つであるlen関数の使用方法と、データ解析を効率的に行うための応用例を、初心者の方でも理解できるように解説します。

この記事を読めば、len関数を活用してデータ解析を10倍速く行うことができるようになるでしょう。

●Pythonとは

Pythonは、1991年にグイド・ヴァンロッサムによって開発された高水準プログラミング言語です。

そのシンプルで簡潔な文法は初心者にとって親しみやすく、また強力なライブラリとコミュニティのサポートにより、データ分析からウェブ開発、機械学習まで幅広い分野で利用されています。

○Pythonの特徴

Pythonの最大の特徴はその読みやすさと書きやすさにあります。

インデントを用いたブロック構造は、コードの見た目を整理し、他の人が読みやすいコードを書くことを促します。

また、標準ライブラリが提供する多数のモジュールと関数は、コードの再利用を容易にし、開発者がより高度な機能に集中できるようにします。

●len関数とは

len関数はPythonの組み込み関数で、あるオブジェクトが持つ要素の数を返します。

リスト、タプル、文字列、辞書、集合など、多くの組み込み型やユーザ定義型に対して使用することができます。

○len関数の基本的な使い方

len関数の使い方は非常に簡単です。len関数を呼び出し、引数に要素数を知りたいオブジェクトを指定するだけです。

下記のコードでは、リストの要素数を取得しています。

numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 結果は5

このコードでは、numbersという名前のリストを作り、そのリストの要素数をlen関数を使って計算しています。そしてその結果をprint関数で出力しています。

この例では、リストの要素数が5なので、len関数は5を返します。

○len関数の戻り値

len関数は常に整数を返します。

引数に与えたオブジェクトが持つ要素の数を整数で返すためです。

要素がない場合、つまり空のリストや空の文字列をlen関数に渡すと、len関数は0を返します。

empty_list = []
print(len(empty_list))  # 結果は0

このコードでは、empty_listという名前の空のリストを作り、そのリストの要素数をlen関数を使って計算しています。

そしてその結果をprint関数で出力しています。

この例では、リストに要素がないため、len関数は0を返します。

●len関数を用いた実践的なコード

len関数は、Pythonで頻繁に使用される便利な組み込み関数の一つです。

ここでは、len関数を使って様々なデータ型の要素数を取得する具体的なコード例を見てみましょう。

○サンプルコード1:リストの長さを取得する

このコードでは、len関数を使ってリストの長さを取得する方法を紹介します。

Pythonのリストは、複数の要素を順序づけて格納するデータ型で、その要素数を取得するためにlen関数がよく使われます。

# リストを作成
numbers = [1, 2, 3, 4, 5]
# len関数でリストの長さを取得
list_length = len(numbers)
print(list_length)

この例では、初めに[1, 2, 3, 4, 5]という5つの要素を持つリストを作成し、その後でlen関数を使ってリストの長さを取得しています。

最後にprint関数を用いて取得した長さを出力しています。

このコードを実行すると、「5」と出力されます。

○サンプルコード2:文字列の長さを取得する

次に、文字列の長さを取得するためのコードを見てみましょう。

Pythonの文字列も、一連の文字として扱われるため、len関数でその長さを取得することができます。

# 文字列を作成
message = "Hello, Python!"
# len関数で文字列の長さを取得
str_length = len(message)
print(str_length)

このコードでは、まず”Hello, Python!”という文字列を作成しています。

その後でlen関数を使って文字列の長さを取得し、それを出力しています。

このコードを実行すると、「13」と出力されます。

○サンプルコード3:辞書のキーの数を取得する

辞書はキーと値を組み合わせてデータを格納するデータ型で、len関数を使うと辞書のキーの数を取得することができます。

# 辞書を作成
student = {"name": "Taro", "age": 20, "grade": "Sophomore"}
# len関数で辞書のキーの数を取得
dict_length = len(student)
print(dict_length)

このコードでは、まず”name”, “age”, “grade”という3つのキーを持つ辞書を作成しています。

その後でlen関数を使って辞書のキーの数を取得し、それを出力しています。

このコードを実行すると、「3」と出力されます。

○サンプルコード4:多次元リストの要素数を取得する

さて次に、多次元リストから要素数を取得する方法を見ていきましょう。

リストの中にリストが存在する場合、つまり多次元リストの場合、len関数を使用すると最上位のリストの長さしか取得できません。

そのため、全ての要素数を取得するためには少し工夫が必要になります。

# 多次元リストの定義
multilist = [[1, 2, 3], [4, 5], [6], [7, 8, 9, 10]]

# 最上位のリストの長さを取得
print(len(multilist))  # 出力: 4

# 全ての要素数を取得
total_length = sum(len(sublist) for sublist in multilist)
print(total_length)  # 出力: 10

このコードでは、まず多次元リストを定義しています。

次にlen関数を使って最上位のリストの長さを取得しています。最後に、リスト内包表記とlen関数を組み合わせて、全ての要素数を取得しています。

Pythonではこのように一行で複雑な計算も行えるため、コードが簡潔になり読みやすくなります。

○サンプルコード5:カスタムオブジェクトの属性数を取得する

Pythonでは、ユーザーが独自のオブジェクトを定義することができます。

これらのオブジェクトの属性数を調べるには、__dict__属性とlen関数を組み合わせて使います。

class MyClass:
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

# インスタンスの生成
my_instance = MyClass(1, 2, 3)

# 属性数の取得
print(len(my_instance.__dict__))  # 出力: 3

このコードでは、まずMyClassというクラスを定義しています。

次にそのクラスのインスタンスを生成し、そのインスタンスの属性数をlen関数を使って取得しています。

クラスのインスタンスが持つ属性は__dict__属性に格納されるため、この属性の長さを取得することで属性数を調べることができます。

Pythonのlen関数は、これらの基本的な使い方だけでなく、様々な場面で活用できます。

●len関数の応用例

Pythonのlen関数は、データ解析や条件分岐、ループ処理など様々な場面で活用できます。

それでは、その一部を紹介します。

○サンプルコード6:データ解析におけるlen関数の活用

Pythonでデータ解析を行う際には、pandasというライブラリをよく使用します。

pandasのデータフレームでは、len関数を使って行数を取得することができます。

これはデータの規模を把握したり、欠損値の数を調べたりする際に非常に便利です。

import pandas as pd

# データフレームの生成
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, None, 50],
    'C': ['a', 'b', 'c', 'd', 'e']
})

# 行数の取得
print(len(df))  # 出力: 5

# 欠損値の数を取得
missing_values = len(df) - df.count()
print(missing_values)

このコードでは、まずpandasのデータフレームを生成しています。

次にlen関数を使ってデータフレームの行数を取得し、最後に欠損値の数を調べています。

欠損値の数を調べる際には、全体の行数から欠損値でないデータの数を引くことで取得できます。

Pythonでlen関数を使用して、条件分岐を効率的に行うことは、特に大量のデータを取り扱う際にとても有用です。

それでは、具体的なコードを見てみましょう。

○サンプルコード7:条件分岐におけるlen関数の利用

# データリスト
data_list = [12, 24, 35, 48, 55]

# データリストの要素数をlen関数で取得
length = len(data_list)

# 条件分岐
if length > 10:
    print("データは10個以上です")
else:
    print("データは10個未満です")

このコードでは、まずデータリストの要素数をlen関数で取得しています。

その後、取得した要素数が10以上かどうかで条件分岐を行っています。

この例では、データリストの要素数が5つなので、「データは10個未満です」という結果を出力します。

○サンプルコード8:ループ処理におけるlen関数の活用

# データリスト
data_list = ['apple', 'banana', 'cherry', 'date', 'elderberry']

# len関数でリストの長さを取得し、その回数だけループを回す
for i in range(len(data_list)):
    print(data_list[i])

このコードでは、まずlen関数を使ってリストの長さ(要素数)を取得します。

その取得した数値をrange関数の引数に与え、その回数だけループを回します。

ループの中で、リストの要素を一つずつ取り出してprint関数で出力しています。

len関数は関数の引数としても使えます。

○サンプルコード9:関数の引数としてlen関数を用いる

# 関数定義
def print_length(data):
    print("このデータの長さは", len(data), "です")

# データリスト
data_list = [1, 2, 3, 4, 5]

# 関数呼び出し
print_length(data_list)

このコードでは、len関数を引数として受け取る関数print_lengthを定義しています。

この関数は、引数として受け取ったデータの長さをprint関数で出力します。

その後、データリストをこの関数に渡しています。

結果として、「このデータの長さは 5 です」という結果が出力されます。

len関数はエラーハンドリングにも活用できます。

それを表すサンプルコードを見てみましょう。

○サンプルコード10:エラーハンドリングにおけるlen関数の活用

try:
    # データリスト
    data_list = []

    # データリストの長さを取得
    length = len(data_list)

    if length == 0:
        raise ValueError("データリストが空です")
except ValueError as e:
    print(e)

このコードでは、まずデータリストの長さをlen関数で取得します。

その後、取得した長さが0であるかどうかをチェックします。

もし長さが0(つまり、データリストが空)であれば、ValueErrorを発生させます。

エラーメッセージとして「データリストが空です」と表示します。

これらのコードは全て、データ解析を行う際にlen関数を活用する具体的な例です。

これらの方法を使うことで、大量のデータを効率的に扱い、解析のスピードを向上させることが可能です。

●注意点と対処法

len関数は便利ですが、そのまま使用するとエラーが発生する場合があります。

例えば、len関数はNoneに対しては使用できません。

下記のコードを実行するとエラーが発生します。

data = None
print(len(data))

このようなエラーを避けるためには、次のようにlen関数を使用する前にデータがNoneでないかを確認するようにしましょう。

data = None
if data is not None:
    print(len(data))

このように、len関数を使う際にはその特性を理解し、適切にエラーハンドリングを行うことが大切です。

Pythonのlen関数を理解し活用することで、データ解析を10倍速く行うことが可能です。

初心者でも簡単に取り組め、結果もすぐに出ます。

len関数の活用法を覚えて、自分のデータ解析スキルを向上させていきましょう。

まとめ

本記事では、Pythonの基本的な関数であるlen関数の使い方を10の具体的なステップで徹底解説しました。

len関数はリストや文字列などの長さを取得することができ、データ解析を効率的に行うための重要なツールです。

記事を読めば、len関数を活用してデータ解析を10倍速く行うことができるようになります。

初心者でも安心して取り組める内容なので、ぜひPythonでのデータ解析に活用してください。