【書式】
df[df["対象列名"] >= 50]
【コード】
import pandas as pd
# テストデータの読み込み
df = pd.read_csv("/content/drive/MyDrive/Python_2024/004/test5.csv",encoding="shift_jis",index_col='名前')
# 数学が90点以上を取り出す
df2=df[df["数学"]>=90]
# データを表示
print(df2)
【結果】
数学 理科 国語
名前
一郎 94 80.0 100
二郎 90 80.0 85
三郎 95 80.0 90
四郎 90 70.0 95
<class 'pandas.core.frame.DataFrame'>
【書式】
検索条件を () で囲み、次の演算子で繋げる
【コード】
import pandas as pd
# テストデータの読み込み
df = pd.read_csv("/content/drive/MyDrive/Python_2024/004/test5.csv",encoding="shift_jis",index_col='名前')
# 数学が90点以上かつ、国語が90点以上のデータを取り出す
df2=df[(df["数学"]>=90) & (df["国語"]>=90)]
# データを表示
print(df2)
【結果】
数学 理科 国語
名前
一郎 94 80.0 100
三郎 95 80.0 90
四郎 90 70.0 95
【書式】
df[df["列名"].str.contains("検索文字列")]
【コード】
import pandas as pd
# テストデータの読み込み
# 名前に「七」が入っているデータを抽出する
df2=df[df["名前"].str.contains("七")]
# データを表示
print(df2)
【結果】
名前 数学 理科 国語
6 七郎 75 70.0 75
【書式】
「~」を使うと、条件の否定になるらしい
【コード】
import pandas as pd
# テストデータの読み込み
# 名前に「七」が入っていないデータを抽出する
df2=df[~df["名前"].str.contains("七")]
# データを表示
print(df2)
【結果】
名前 数学 理科 国語
0 一郎 94 80.0 100
1 二郎 90 80.0 85
2 三郎 95 80.0 90
3 四郎 90 70.0 95
4 五郎 85 70.0 80
5 六郎 80 NaN 80
7 八郎 70 60.0 65
8 九郎 60 60.0 65
9 十郎 60 60.0 60
【書式】
df.shape[0] を使う
【コード】
import pandas as pd
# テストデータの読み込み
# 名前に「七」が入っていないデータを行数を調べる
df2=df[~df["名前"].str.contains("七")].shape[0]
# データを表示
print(df2)
# データ型を表示
print(type(df2))
【結果】
9
<class 'int'>
戻り値はdfではなく、intになることに注意する(当たり前か・・・)