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

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

  1. 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(

  2. 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