Pythonのデータフレームの部分集合を作成するための3つの簡単な方法
こんにちは、読者の皆さん!この記事では、Pythonのデータフレームの部分集合を詳しく作成するさまざまな方法に焦点を当てます。
では、始めましょう!
最初に、Pythonのデータフレームとは何ですか?
PythonのPandasモジュールは、値を格納するための2つのデータ構造、すなわちSeriesとDataframeを提供しています。
データフレームは、行と列の値形式でデータを保持するデータ構造です。ですから、それに関連して以下の形式でサブセットを作成してアクセスすることができます。
- Access data according to the rows as subset
- Fetch data according to the columns as subset
- Access specific data from some rows as well as columns as subset
データフレームとサブセットについて理解したので、次はデータフレームからサブセットを作成するためのさまざまな技術について理解しましょう。
データフレームを作成して作業を始めます!
データフレームのサブセットを作成するためには、まずデータフレームを作成する必要があります。それを最初に取り組んでみましょう。
import pandas as pd
data = {"Roll-num": [10,20,30,40,50,60,70], "Age":[12,14,13,12,14,13,15], "NAME":['John','Camili','Rheana','Joseph','Amanti','Alexa','Siri']}
block = pd.DataFrame(data)
print("Original Data frame:\n")
print(block)
出力:
Original Data frame:
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
4 50 14 Amanti
5 60 13 Alexa
6 70 15 Siri
ここでは、pandas.DataFrame() メソッドを使用してデータフレームを作成しました。この記事全体で、先に作成したデータセットを使用します。
始めましょう! (Hajimemashou!)
1. loc() 関数を使用して、Pythonデータフレームのサブセットを作成する。
Pythonのloc()関数は、特定の行や列、またはその両方に基づいてデータフレームの部分集合を作成することができます。
loc()関数はラベルに基づいて機能します。つまり、行/列のラベルを指定してカスタマイズされたサブセットを選択・作成する必要があります。
文法:
pandas.dataframe.loc[]
例1:データフレームの特定の行のデータを抽出する。
block.loc[[0,1,3]]
出力:
以下のように、行0、1、および3のすべてのデータを含むサブセットを作成しました。
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
3 40 12 Joseph
例2:スライスを使用して行のサブセットを作成してください。
block.loc[0:3]
ここでは、スライシング演算子とloc()関数を使用して、インデックス0からインデックス3までのすべての行のデータを抽出しました。
出力:
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
例3:ラベルを使用して特定の列のサブセットを作成します。
block.loc[0:2,['Age','NAME']]
出力:
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
ここでは、行0から2までのデータを含むサブセットを作成しましたが、特定の列のみを含めました。つまり、「年齢」と「名前」の列です。
2. データフレームの一部を作成するために、Pythonのiloc()関数を使用する。
Pythonのiloc()関数は、行と列のインデックスに基づいて特定の値を選択してサブセットを作成することができます。
つまり、labelsに対して機能するloc()関数と異なり、iloc()関数はインデックス値に対して機能します。Pythonのデータフレームからデータの行と列のインデックス番号を指定して、サブセットを選択および作成することができます。
文法:
pandas.dataframe.iloc[]
I am a student → 私は学生です。
block.iloc[[0,1,3,6],[0,2]]
ここでは、行番号0、1、3、6と列番号0および2のデータを含むサブセットを作成しました。具体的には、「ロール番号」と「名前」です。
「結果:」
Roll-num NAME
0 10 John
1 20 Camili
3 40 Joseph
6 70 Siri
3. データフレームの一部を作成するためのインデックス演算子
簡単に言えば、データの部分集合を作成するために、インデックス演算子(角かっこ)を使うことができます。
文法:
dataframe[['col1','col2','colN']]
例えば:
block[['Age','NAME']]
ここでは、それぞれ’年齢’と’名前’の列のすべてのデータ値を選択しました。
結果:
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
3 12 Joseph
4 14 Amanti
5 13 Alexa
6 15 Siri
結論 (けつろん) [Ketsuron]
これにより、このトピックの終わりに達しました。もし何か質問があれば、コメント欄に自由に書いてください。Pythonに関連するこのような投稿がもっとある場合は、お楽しみにしていてください。それまで、学びを楽しんでください!:)