パンダのデータフレームでグループごとにt検定する方法は?

レイチェル

私は多くの列を持つ非常に巨大なパンダデータフレームを持っています。データフレームには2つのグループが含まれています。基本的には次のように設定されています。

import pandas as pd
csv = [{"air" : 0.47,"co2" : 0.43 , "Group" : 1}, {"air" : 0.77,"co2" : 0.13 , "Group" : 1}, {"air" : 0.17,"co2" : 0.93 , "Group" : 2} ]
df = pd.DataFrame(csv)

私は上のt検定t検定を実行するairco2、それによって2つのグループを比較するGroup = 1Group = 2

私は単なる列よりもはるかに多くの列を持っていますair co2-したがって、データフレーム内のすべての列で機能するプロシージャを見つけたいと思います。オーダーとscipy.stats.ttest_rel一緒に使えそうです。それはどのように機能しますか?よろしくお願いします/ Rpd.groupbyapply

エラー

pandasdataframe.whereメソッドを使用します。

group1_air = df.where(df.Group== 1).dropna()['air']
group2_air = df.where(df.Group== 2).dropna()['air']

このコードビットは、group2_airのgroup列が1であるair列のすべての値とgroupが2であるairのすべての値をgroup1_airに返します。このメソッドは、指定された条件が満たされないすべての行に対してNANを返すdrop.na()ため、が必要です.whereしたがって、を使用すると、groupが2のすべての行がNAN値で返されますdf.where(df.Group== 1)

使用する必要があるかどうか、scipy.stats.ttest_relまたはscipy.stats.ttest_indグループによって異なります。サンプルが独立したグループからのものであるttest_ind場合は、サンプルが関連グループからのものである場合に使用する必要がありますttest_rel

したがって、サンプルが互いに独立している場合、必要なコードの最後の部分はです。

scipy.stats.ttest_ind(group1_air,group2_air)

それ以外の場合は使用する必要があります

scipy.stats.ttest_rel(group1_air,group2_air)

co2もテストしたい場合は、与えられた例でco2の空気を変更するだけです。

編集:

これは、グループ列を除くデータフレーム内のすべての列に対してttestを実行するために実行する必要があるコードの大まかなスケッチです。column_listニーズに完全に準拠させるために少し改ざんする必要がある場合があります(たとえば、すべての列をループしたくない場合があります)。

# get a list of all columns in the dataframe without the Group column
column_list = [x for x in df.columns if x != 'Group']
# create an empty dictionary
t_test_results = {}
# loop over column_list and execute code explained above
for column in column_list:
    group1 = df.where(df.Group== 1).dropna()[column]
    group2 = df.where(df.Group== 2).dropna()[column]
    # add the output to the dictionary 
    t_test_results[column] = scipy.stats.ttest_ind(group1,group2)
results_df = pd.DataFrame.from_dict(t_test_results,orient='Index')
results_df.columns = ['statistic','pvalue']

このコードの最後に、ループするすべての列に対するttestの出力を含むデータフレームがあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つのパンダデータフレームから行ごとにT検定を計算する方法

分類Dev

パンダ:データフレーム内のリストの列をパンダ(forループではない)と行ごとに比較する方法は?

分類Dev

パンダはn個の最大値でデータフレームをフィルタリングする年ごとにグループ化

分類Dev

パンダのデータフレームをグループごとにシャッフルする

分類Dev

パンダのデータフレームを時間ごとにグループ化する際の問題

分類Dev

グループごとに計算を行ってパンダのデータフレームを更新するにはどうすればよいですか?

分類Dev

パンダのデータフレームで列ごとにdtypesを設定する方法

分類Dev

パンダのデータフレームで文字ごとに切り取ってグループ化する方法

分類Dev

パンダのデータフレームを列ごとにクリップする方法は?

分類Dev

パンダのデータフレーム内の値のグループごとにn個の最大値の合計を見つける方法は?

分類Dev

パンダのデータフレームを行ごとに検索して変数を抽出する方法

分類Dev

1秒未満の値でデータフレームごとにグループ化-パンダ

分類Dev

パンダのデータフレームをグループごとに成長させる

分類Dev

列のグループをパンダデータフレームにスタックする方法は?

分類Dev

キーでパンダのグループ化データフレームにアクセスする方法

分類Dev

パンダはグループごとにデータフレームからグラフを描画する方法を示していますが、グループ番号は不明です

分類Dev

Python:パンダのデータフレームを特定の時間枠でグループ化する方法は?

分類Dev

Python:パンダのデータフレームを特定の時間枠でグループ化する方法は?

分類Dev

パンダのデータフレームの値を行ごとに合計する方法は?

分類Dev

オペレーションごとにいくつかのグループから新しいデータフレームを作成するパンダ

分類Dev

パンダのデータフレームの各グループとテーブルを結合する方法

分類Dev

グループごとに2つのデータフレームを結合する方法は?

分類Dev

会計年度ごとにグループ化するためにパンダデータフレームでgroupbyを使用する

分類Dev

会計年度ごとにグループ化するためにパンダデータフレームでgroupbyを使用する

分類Dev

パンダのデータフレームをグループ化し、条件付きで検証する

分類Dev

グループごとにデータフレーム内のすべての変数をパディング

分類Dev

グループごとに上位と下位のN値を表示するパンダの新しいデータフレーム

分類Dev

定義された時間間隔でパンダのデータフレームをグループ化する方法は?

分類Dev

行でグループ化するときにパンダデータフレームの辞書をマージする方法

Related 関連記事

  1. 1

    2つのパンダデータフレームから行ごとにT検定を計算する方法

  2. 2

    パンダ:データフレーム内のリストの列をパンダ(forループではない)と行ごとに比較する方法は?

  3. 3

    パンダはn個の最大値でデータフレームをフィルタリングする年ごとにグループ化

  4. 4

    パンダのデータフレームをグループごとにシャッフルする

  5. 5

    パンダのデータフレームを時間ごとにグループ化する際の問題

  6. 6

    グループごとに計算を行ってパンダのデータフレームを更新するにはどうすればよいですか?

  7. 7

    パンダのデータフレームで列ごとにdtypesを設定する方法

  8. 8

    パンダのデータフレームで文字ごとに切り取ってグループ化する方法

  9. 9

    パンダのデータフレームを列ごとにクリップする方法は?

  10. 10

    パンダのデータフレーム内の値のグループごとにn個の最大値の合計を見つける方法は?

  11. 11

    パンダのデータフレームを行ごとに検索して変数を抽出する方法

  12. 12

    1秒未満の値でデータフレームごとにグループ化-パンダ

  13. 13

    パンダのデータフレームをグループごとに成長させる

  14. 14

    列のグループをパンダデータフレームにスタックする方法は?

  15. 15

    キーでパンダのグループ化データフレームにアクセスする方法

  16. 16

    パンダはグループごとにデータフレームからグラフを描画する方法を示していますが、グループ番号は不明です

  17. 17

    Python:パンダのデータフレームを特定の時間枠でグループ化する方法は?

  18. 18

    Python:パンダのデータフレームを特定の時間枠でグループ化する方法は?

  19. 19

    パンダのデータフレームの値を行ごとに合計する方法は?

  20. 20

    オペレーションごとにいくつかのグループから新しいデータフレームを作成するパンダ

  21. 21

    パンダのデータフレームの各グループとテーブルを結合する方法

  22. 22

    グループごとに2つのデータフレームを結合する方法は?

  23. 23

    会計年度ごとにグループ化するためにパンダデータフレームでgroupbyを使用する

  24. 24

    会計年度ごとにグループ化するためにパンダデータフレームでgroupbyを使用する

  25. 25

    パンダのデータフレームをグループ化し、条件付きで検証する

  26. 26

    グループごとにデータフレーム内のすべての変数をパディング

  27. 27

    グループごとに上位と下位のN値を表示するパンダの新しいデータフレーム

  28. 28

    定義された時間間隔でパンダのデータフレームをグループ化する方法は?

  29. 29

    行でグループ化するときにパンダデータフレームの辞書をマージする方法

ホットタグ

アーカイブ