DataFrameの要素数を維持してデータを取得する方法
DataFrameの要素数を維持してデータを取得するにはwhereを使用します。
条件に一致しない場合はデフォルトではNaNに置換されますが、引数で指定することもできます。
test.csvのデータ
id,name,count,rating 1,abc,13,4.38 2,defgh,4,8.56 3,ij,0,1.25 4,klmnopq,23,3.49 5,rst,11,0.51
import pandas as pd df = pd.read_csv("test.csv") print(df) # id name count rating # 0 1 abc 13 4.38 # 1 2 defgh 4 8.56 # 2 3 ij 0 1.25 # 3 4 klmnopq 23 3.49 # 4 5 rst 11 0.51 print(df.loc[df["rating"] < 3]) # id name count rating # 2 3 ij 0 1.25 # 4 5 rst 11 0.51 print(df.where(df["rating"] < 3)) # id name count rating # 0 NaN NaN NaN NaN # 1 NaN NaN NaN NaN # 2 3.0 ij 0.0 1.25 # 3 NaN NaN NaN NaN # 4 5.0 rst 11.0 0.51 print(df.where(df["rating"] < 3, 0)) # id name count rating # 0 0 0 0 0.00 # 1 0 0 0 0.00 # 2 3 ij 0 1.25 # 3 0 0 0 0.00 # 4 5 rst 11 0.51