概要
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`を新しい列に追加しています。
コメント