pandasのデータフレームの要素を参照する【Python3】2018/02/012020/04/14pandasのデータフレームの要素を参照する【Python3】Pythonライター:古澤嘉啓TwitterFacebook当記事では、pandasのデータフレーム(DataFrame)の要素を参照する方法を紹介いたします(Python3)。こちらのcsvファイル→サンプルcsvファイルを説明用に使うので、同じことがしたい方はダウンロードして使ってください!まずはデータを読み込みます。#pandasをpdとしてインポート#データをdfに読み込み。pd.read_csv("sample.csv")#dfの中身を確認print(df)今回使うデータは以下のような形になっています。列名、行名による要素の参照pandasでは、変数名の後に[]をつけて列名、行名の順番に指定すれば任意の要素を取り出すことが出来ます。df[“列名”][“行名”]というような感じで記述してください。3列目(lung_capacityの列)を取り出したい場合。4800複数列取り出したい場合は、列名をリストにします。80行も指定したい場合。df["lung_capacity"][3]3000複数行の指定。3000補足になりますが、『1:4』は、1以上4未満という意味です。ちなみに、指定した列名、行名ないと次のようなエラーメッセージがでます。3『df[“列名”]』の代わりに『df.列名』でも同様に列を参照することができます。80スライスによる行の参照スライスとは、pythonのリストの要素を参照する際に使うテクニックです。変数名[◯:△:□]で、リストの◯以上△未満の要素について□個おきに取得すると言う意味です。(◯:開始位置、△:終了位置、□:間隔)例えば、list1[2:10:2]なら、2以上10未満2個おきなので、(2が開始、10が終了、2個間隔)2番目、4番目、6番目、8番目の要素が参照されることになります。(python界では0番目から要素を数え始めることには気をつけましょう。)pandasではこのスライスによってデータフレームを横に切ることができます。0df[“列名”][“行名”]の時と違い、一つ目の[]が行の番号を指定ので混同しないように注意が必要です。2行目以降全部を参照する場合。01行読み込んだら次の行はスキップする場合。0このようにpandasでもスライスが使えます。変数名.iloc[行番号,列番号]とすることで、番号を指定して要素そこにある要素を参照します。df.iloc[0,2]110もちろんここでもスライスが利用可。行は1行ごとにスキップ、列は1列目以上3列目未満の場合。108指定した条件にマッチする要素を参照pandasはデータフレームごと比較演算子を適用して、各要素の真偽判定が可能です。Falseこれを応用して、例えば真の部分だけを残して、同じ形のデータフレームを作ることができます。NaN『.iloc』や『.列名』も合わせて利用すると、条件に合うデータだけを取り出せます。23歳より年上の人のデータだけを取り出す場合。G検定を取得するメリットを解説!最弱オセロを初めて攻略した天才オセロ高校生。TrendCOMMENTコメントを残すコメントをキャンセルメールアドレスが公開されることはありません。コメント*お名前*メールアドレス*プライバシーポリシーはこちら上に表示された文字を入力してください。