Polarsのfilter()
Pandasのdrop func的な
Pandasのdrop()
はaxisの指定によってどの方向かを決めるけど,Polarsにはその引数がないからいつもカラム単位のdropになる.じゃあ行単位のdropはどうするのかというと,filter()
を使えばいいのかなと思ってる.今の所あんまり使わないけど,忘れないように.
まあ,いつものやつはこんな感じ.いらないカラムを指定すればdropしてくれる.あとpolars.drop()
にはpandasでいうinplace引数はない.はず.
import polars as pl
df = pl.DataFrame({
"id":[1,2,3,4,5],
"name":["Jeremy", "Frank", "Janet", "Ryan", "Mary"],
"age":[20,25,15,10,30],
"income":[4000,7000,200,0,10000]
})
df = df.drop("name")
でもdropだと行単位の削除ができないんす,引数の型ヒントから見てもカラム名を渡すだけで.
じゃあ行を消すには,例えばidが1と2の人を消したいとすると
import polars as pl
df = pl.DataFrame({
"id":[1,2,3,4,5],
"name":["Jeremy", "Frank", "Janet", "Ryan", "Mary"],
"age":[20,25,15,10,30],
"income":[4000,7000,200,0,10000]
})
df = df.filter(
(~pl.col("id").is_in([1, 2]))
)
にすればいいんすよね.ただしNone
が含まれるときの挙動には気をつけないといけないみたい.(Ref.)
まああんまり中身のない話だけど,メモ程度に.
Good day
Thanks for reading! Read other posts? Have a good day:)