Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonPandas-合計に基づいてDataFrameから列をフィルタリングする


列の合計に基づいてフィルタリングするには、 loc()を使用します 方法。ここで、この例では、各生徒の点数を合計して、点数が400を超える、つまり80%の生徒の列を取得します。

最初に、学生の記録を使用してDataFrameを作成します。 3人の生徒、つまり3列のマークレコードがあります-

dataFrame = pd.DataFrame({
   'Jacob_Marks': [95, 90, 75, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 65, 45, 50]})

列に基づくフィルタリング。合計点数が400を超える生徒を取得する-

dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]

以下は完全なコードです-

import pandas as pd

# create a dataframe with 3 columns
dataFrame = pd.DataFrame({
   'Jacob_Marks': [95, 90, 75, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 65, 45, 50]})

print"Dataframe...\n",dataFrame

# filtering on the basis of columns
# fetching student with total marks above 400
dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]

# dataframe
print"Updated Dataframe...\n",dataFrame

出力

これにより、次の出力が生成されます-

Dataframe...
   Jacob_Marks   Jamie_Marks   Ted_Marks
0          95            77          60
1          90            76          50
2          75            65          65
3          85            45          85
4          88            50          70
Updated Dataframe...
   Jacob_Marks
0          95
1          90
2          75
3          85
4          88

  1. Python-Pandasデータフレームから複数の列を選択します

    以下は、MicrosoftExcelで開いたCSVファイルの内容であるとしましょう- 最初に、CSVファイルからPandasDataFrameにデータをロードします- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") 複数の列レコードを選択するには、角かっこを使用します。括弧内の列に言及し、データセット全体から複数の列をフェッチします- dataFrame[['Reg_Price','Units']] 例 以下はコードです- import pa

  2. Python-PandasDataFrameからnull行を削除する方法

    Pandas DataFrameのnull行を削除するには、dropna()メソッドを使用します。以下が、いくつかのNaN、つまりnull値を含むCSVファイルであるとしましょう- read_csv()を使用してCSVファイルを読み取ってみましょう。 CSVはデスクトップにあります- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\CarRecords.csv") dropna()-を使用してnull値を削除します dataFrame = dataFrame.dropna() 例 以下は完全なコードです-