この記事では【Python】以上以下(未満も、数値や日付・期間)の指定をする方法について解説していきます。
ポイントとしては `loc`、`isin`、`between`、`query` を使用することです。
pythonなどのプログラミングでは初〜中級者の段階では考えるよりも、見て覚えて慣れてしまうのがおすすめなので、ぜひ本記事をご活用くださいませ。
それでは詳しく確認していきます。
pythonのデータフレームでok列が8以上13以下の数値の行のみを抽出・表示する方法
それではまず、pythonのデータフレームでok列が8以上13以下の数値の行のみを抽出・表示する方法について解説していきます。
import pandas as pd
# サンプルデータフレームを作成
okdatawo_motsu_df = pd.DataFrame({'ok': [5, 10, 15, 20],
'name': ['taro', 'jiro', 'saburo', 'shiro']})
# ok列が8以上13以下の行を抽出
kekka_df = okdatawo_motsu_df.loc[(okdatawo_motsu_df['ok'] >= 8) & (okdatawo_motsu_df['ok'] <= 13)]
# 結果を表示
print(kekka_df)
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
ok name
1 10 jiro
pythonのデータフレームでdate列が2024年4月1日以上4月30日以下の日付の行のみを抽出・表示する方法
続いては、pythonのデータフレームでdate列が2024年4月1日以上4月30日以下の日付の行のみを抽出・表示する方法について解説していきます。
import pandas as pd
# サンプルデータフレームを作成
hidzukewo_motsu_df = pd.DataFrame({'date': ['2024-03-31', '2024-04-15', '2024-05-01'],
'item': ['ringo', 'banana', 'orange']})
hidzukewo_motsu_df['date'] = pd.to_datetime(hidzukewo_motsu_df['date']) # date列を日付型に変換
# date列が2024年4月1日以上2024年4月30日以下の行を抽出
kekka_df = hidzukewo_motsu_df.loc[(hidzukewo_motsu_df['date'] >= '2024-04-01') & (hidzukewo_motsu_df['date'] <= '2024-04-30')]
# 結果を表示
print(kekka_df)
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
date item
1 2024-04-15 banana
pythonのデータフレームでok列が7以上12以下、かつokok列が5以上10未満の数値の行のみを抽出・表示する方法
最後に、pythonのデータフレームでok列が7以上12以下、かつokok列が5以上10未満の数値の行のみを抽出・表示する方法について解説します。
import pandas as pd
# サンプルデータフレームを作成
futatsuno_okwo_motsu_df = pd.DataFrame({'ok': [5, 10, 15],
'okok': [3, 8, 13],
'namae': ['ichiro', 'jiro', 'saburo']})
# ok列が7以上12以下、かつokok列が5以上10未満の行を抽出
kekka_df = futatsuno_okwo_motsu_df.query('7 <= ok <= 12 and 5 <= okok < 10')
# 結果を表示
print(kekka_df)
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
ok okok namae
1 10 8 jiro
まとめ
以上、【Python】データフレームの行を条件で抽出・表示する方法(loc, isin, between, query)の解説でした。
この記事が、データフレームの操作を理解する一助となれば幸いです。