'22/04/14更新:欠損値のある行を抽出したい場合を追記
指定区間内は、次のようにして抽出できます。orにしたい場合は、|(半角縦棒)です。
df2 = df[(df['PRICE'] >= 17) & (df['PRICE'] <= 25)]
df2 = df[df['PRICE'] == 20]
df2 = df[df['PRICE'].isnull()]
本記事では実例の雛形コードを載せました。例えば、機械学習でお馴染みのボストンデータセットの506個のデータ(Python scikit-learn付属のボストン市の住宅価格データ(Boston house prices dataset)をcsvファイル化する - PythonとVBAで世の中を便利にする)の14項目のヒストグラムは下図のようになります。
ここで、冒頭のようなコードで「PRICE」の値が17~25の範囲であるデータを抽出すると下図のようになります。
■本プログラム
import pandas as pd
import matplotlib.pyplot as plt
def main():
df = pd.read_csv(file_path)
print(df)
print(df.describe())
df.hist()
plt.tight_layout()
plt.show()
df_extract = df[(df['PRICE'] >= 17) & (df['PRICE'] <= 25)]
print(df_extract)
df_extract.hist()
plt.tight_layout()
plt.show()
if __name__ == '__main__':
file_path = 'boston_XYdata.csv'
main()
print("finished")
以上
<広告>
リンク