Pythonでプログラムを作成して、グループ化されたデータの共分散を計算し、特定のデータフレーム内の2つの列間のグループ化されたデータの共分散を計算します
グループ化されたデータと対応する列から共分散を計算するためのデータフレームと結果があると仮定します。
Grouped data covariance is: mark1 mark2 subjects maths mark1 25.0 12.500000 mark2 12.5 108.333333 science mark1 28.0 50.000000 mark2 50.0 233.333333 Grouped data covariance between two columns: subjects maths 12.5 science 50.0 dtype: float64
解決策
これを解決するには、以下の手順に従います-
-
データフレームを定義する
-
データフレームサブジェクト列内にgroupby関数を適用する
df.groupby('subjects')
-
グループ化されたデータに共分散関数を適用し、インサイドされたgroup_dataを保存します
group_data = df.groupby('subjects').cov()
-
サブジェクト列のgroupbyレコードを使用してmark1列とmark2列にラムダ関数を適用します。以下に定義されています
df.groupby('subjects').apply(lambda x: x['mark1'].cov(x['mark2']
例
理解を深めるために、以下のコードを見てみましょう-
import pandas as pd df = pd.DataFrame({'subjects':['maths','maths','maths','science','science','science'], 'mark1':[80,90,85,95,93,85], 'mark2':[85,90,70,75,95,65]}) print("DataFrame is:\n",df) group_data = df.groupby('subjects').cov() print("Grouped data covariance is:\n", group_data) result = df.groupby('subjects').apply(lambda x: x['mark1'].cov(x['mark2'])) print("Grouped data covariance between two columns:\n",result)
出力
DataFrame is: subjects mark1 mark2 0 maths 80 85 1 maths 90 90 2 maths 85 70 3 science 95 75 4 science 93 95 5 science 85 65 Grouped data covariance is: mark1 mark2 subjects maths mark1 25.0 12.500000 mark2 12.5 108.333333 science mark1 28.0 50.000000 mark2 50.0 233.333333 Grouped data covariance between two columns: subjects maths 12.5 science 50.0 dtype: float64
-
Pythonでプログラムを作成して、特定のDataFrameのインデックスと列を転置します
入力 − DataFrameがあり、インデックスと列の転置の結果は、であると想定します。 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6 ソリューション1 DataFrameを定義する ネストされたリスト内包表記を設定して、2次元リストデータの各要素を反復し、結果に保存します。 result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0])) 結果をDataFrameに変換します df2 = pd.DataFrame(
-
Pythonでプログラムを作成して、特定のDataFrame内の従業員IDと給与の最低年齢を見つけます
入力 − DataFrameがあると仮定します DataFrame is Id Age Salary 0 1 27 40000 1 2 22 25000 2 3 25 40000 3 4 23 35000 4 5 24 30000 5 6 32