pandasの基本操作を理解していない同士たちへ
pandasの基本操作を理解していない同士たちへ
pandasのdf[]
をそれっぽく書いてエラー連発していたやつちょっと出てこい!
pandasでデータの前処理1をするときに、pandasではnumpyと同じようなスライスが使えるんだな。しかも、数字だけでなく、条件を指定することでいい感じにデータを抽出してくれるんだな。
よーしdf[hoge]
と書いて、
エラーを出してhoge
をめっちゃ工夫してみるけどいっこうにエラーが鳴り止まないという経験をしたデータ分析初心者はいないだろうか?いや、いる。少なくともここに一人。
多分そいつは、
df['hoge']
とdf.loc['hoge'](df.iloc[fuga])
の違いを理解していないはずだ。
いいか、データフレームのスライスは列の指定だ。データフレームのスライスでは行の指定はできない。
いい感じに[]を重ねれば、いずれはいい感じに行と列をして、臨んでいる新しいデータフレームを抽出できるはずだと思っているんじゃないか?
それは無理だ。いやできるかもしれないが、複雑な条件を指定することになると頭の中が訳わからなくなってしまうこと不可避で、作業効率が非常に悪くなってしまう。
今振り返れば、誤解の原因は、Seriesだとスライスで、行の指定になることだった。
そして、しっかりとpandasの挙動を理解せずに、雰囲気だけでpandasを利用していたことだ。
私のようなpandas素人独学者のために、
改めて、pandasの基本操作をまとめておきたい。
pandasの基本操作
列を指定しての抽出
df['column名'] # 1列のみ指定
df[['column名1', 'column名2', ...]] # 複数列指定
行と列を指定しての抽出
df.loc[:] # indexのみの指定
df.loc[:, ['column名', ...]] # 列を指定の抽出
df.loc[1:5, ['column名']] # indexの範囲を指定の抽出
行の抽出
df.loc[df['bar'] == condition] # 指定列の中から条件を満たす行を抽出
ほとんどこの記事から抜粋しただけなので、こちらを見てもらったほうがよい。
参考
pandasの基本操作 - Qiita
Python pandas データ選択処理をちょっと詳しく <前編> - StatsFragments
-
基礎集計や可視化をしてデータの特徴を把握したり、欠損値や異常値を探しだして削除したり補完したりすること ↩
Author And Source
この問題について(pandasの基本操作を理解していない同士たちへ), 我々は、より多くの情報をここで見つけました https://qiita.com/udus122/items/7dc8371c61dcf37bdb15著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .