“Pandasを使用したデータの条件抽出と新特性の作成方法”

python

概要

Pythonのpandasは、データ処理や分析に使用される強力なライブラリです。

条件式、特にif文を使用することで、特定の条件に基づいてデータを抽出、変換、操作することができます。

これは、一部のデータだけを対象に処理を行いたいときや、データに基づいて新しい特性を作成したいときに非常に有用です。

詳細内容

まず、pandasを使ってデータを条件に基づいて抽出する方法について見てみましょう。

以下のコードは、pandasのdataframeから条件に一致する行を抽出する例です。

import pandas as pd# 与えられたサンプルデータ
data = {
    'name': ['John', 'Anna', 'Peter', 'Linda'],
    'age': [28, 24, 35, 32],
    'country': ['USA', 'USA', 'Canada', 'Australia']
}df = pd.DataFrame(data)# "age"が30より大きいすべての行を抽出する
df_over_30 = df[df['age'] > 30]
print(df_over_30)

出力結果:

    name  age    country
2  Peter   35     Canada
3  Linda   32  Australia

この例では、”age”カラムの値が30より大きい行を抽出しています。

`df[‘age’] > 30`の部分が条件式になります。

この条件をデータフレームに適用すると、条件に一致する行だけが返されます。

次に、データに基づいて新しい特性を作成するためにif文を使用する方法を見てみましょう。

以下は、既存の列の値に基づいて新しい列を作成する例です。

import pandas as pd# 与えられたサンプルデータ
data = {
    'name': ['John', 'Anna', 'Peter', 'Linda'],
    'age': [28, 24, 35, 32]
}df = pd.DataFrame(data)# 年齢に基づいて新しい特性を作成する
df['above_30'] = ['yes' if i > 30 else 'no' for i in df['age']]
print(df)

出力結果:

    name  age above_30
0   John   28       no
1   Anna   24       no
2  Peter   35      yes
3  Linda   32      yes

ここでは、年齢が30を超えているかどうかに基づいて新しい列`above_30`を作成しています。

これを実現するためにリスト内包表記を使用しており、if文で年齢が30を超えているかどうかをチェックしています。

30を超えていれば`yes`、そうでなければ`no`を新しい列に追加しています。

コメント

タイトルとURLをコピーしました