3つのテーブルを結合し、パンダの列を具体的に並べ替えます

pawell78

1つの列だけが異なる3つのデータフレームがあります。以下に示すように、平均、標準偏差、およびカウントがリストされています。

表1

Name Treatment Pool_mean
ATP  1Week     100
ATP  4Week    500
ATP  16Weeks   1500
GTP  4Week     1000
GTP  1Week     250
GTP  16Weeks   12000

表2

Name Treatment Pool_std
ATP  1Week     2
ATP  4Week    5
ATP  16Weeks   15
GTP  4Week     7
GTP  1Week     2
GTP  16Weeks   30

表3

Name Treatment Pool_count
ATP  1Week     3
ATP  4Week    5
ATP  16Weeks   4
GTP  4Week     5
GTP  1Week     3
GTP  16Weeks   4

次のようなテーブルを取得する必要があります。

           1Week     1Week   1Week        4Weeks    4Weeks    4Weeks    16Weeks 16Weeks 16 Weeks
           pool_mean pool_std pool_count pool_mean pool_std pool_count pool_mean pool_std pool_count
  Name ATP 100        2        3         500        5         5         1500       15          4      
  Name GTP 250        2        3         1000       7         5         12000      30          4

どうしたらいいのかわからない。私はこのコードを書くところまで行きました:

df1 = pd.DataFrame(averages)
df2 = pd.DataFrame(stddev)
df3 = pd.DataFrame(count)
dfs = [df1, df2, df3]
dfs1 = pd.concat(dfs, axis=1).T.drop_duplicates().T
print(dfs1)
dfs1.to_csv('pool_merged.csv')

しかし、それは私の列を1つのかなりフラットなファイルに入れることになります。これは素晴らしいですが、私が必要とするものではありません。私はこの時点で本当に迷っています(私はこれに非常に慣れていません)。

どんな助けでもありがたいです。

アンキー

set indexとunstackを組み合わせてから、natsortを使用してswaplevelとsortindexを使用する以下のソリューションを試すことができます。

import natsort as ns
dfs = [df1,df2,df3]
out = (pd.concat([i.set_index(['Name','Treatment']).unstack() for i in dfs],axis=1)
      .swaplevel(axis=1))
out = out.reindex(columns=ns.natsorted(out.columns.get_level_values(0).unique()),level=0)

print(out)

Treatment     1Week                         4Week                      \
          Pool_mean Pool_std Pool_count Pool_mean Pool_std Pool_count   
Name                                                                    
ATP             100        2          3       500        5          5   
GTP             250        2          3      1000        7          5   

Treatment   16Weeks                      
          Pool_mean Pool_std Pool_count  
Name                                     
ATP            1500       15          4  
GTP           12000       30          4  

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

SQL-3つのテーブルから結果を取得し、日付順に並べ替えます

分類Dev

パンダ:2つのデータフレーム列を並べ替えられた列に結合します

分類Dev

2つのパンダデータフレームを連結し、列を並べ替えます

分類Dev

2つのテーブルを結合し、3番目のテーブルで並べ替える方法は?

分類Dev

2つの一意の列を並べ替える2つのテーブルを結合する方法は?

分類Dev

2つのSQLテーブルを接続し、結果をグループ別に並べ替えます

分類Dev

Mysqlは、異なるテーブルの2つの列に基づいて結果を並べ替えます

分類Dev

Datatablesテーブルヘッダースパンをクリックしたときの列の並べ替えを有効/無効にします

分類Dev

Postgresの結合テーブルの列ごとに行を並べ替える

分類Dev

ms sql両方のテーブルを選択/結合し、内部結合を使用して並べ替えます

分類Dev

パンダは値を並べ替えて、グループの各列の上位5つを取得します

分類Dev

3テーブル列の並べ替えを切り替えます

分類Dev

($(#addData).is(: "visible"))の場合、テーブルの列の並べ替えを無効にします

分類Dev

2つのテーブルを組み合わせて、FIFOによる並べ替えを使用します

分類Dev

パンダ-1つの列でグループ化し、別の列で並べ替え、3番目の列から値を取得します

分類Dev

2つのテーブルを結合し、2番目のテーブルのフィールドで並べ替えます。重複はありません。

分類Dev

ランダムな行を選択し、別のテーブルの列で並べ替えます

分類Dev

複数のテーブルを結合し、行の合計で並べ替えます

分類Dev

パンダのピボットテーブルを行と列の合計で並べ替える

分類Dev

SQL Serverが2つのテーブルを結合し、1つのレコードを並べ替えて表示します

分類Dev

2つの類似したテーブルをクエリし、並べ替えられた結果を結合します

分類Dev

2つの類似したテーブルをクエリし、並べ替えられた結果を結合します

分類Dev

各グループの最後の行を取得し、配列全体をID(pk)DESCで並べ替えて、他のテーブルと結合します

分類Dev

2つのテーブルを結合し、group byを適用しますが、並べ替え順序を変更します

分類Dev

左結合を使用する場合は個別のIDを選択し、2つのテーブルで並べ替えます

分類Dev

マングース-検索結果の並べ替えはブールプロパティに依存します

分類Dev

結合されたテーブルのJSON属性でActiveRecordリレーションを並べ替えます

分類Dev

パンダは、グループ結果のすべての列を1つの結果に合計します

分類Dev

jQueryテーブルの並べ替えは、列で並べ替えられた色を変更します。

Related 関連記事

  1. 1

    SQL-3つのテーブルから結果を取得し、日付順に並べ替えます

  2. 2

    パンダ:2つのデータフレーム列を並べ替えられた列に結合します

  3. 3

    2つのパンダデータフレームを連結し、列を並べ替えます

  4. 4

    2つのテーブルを結合し、3番目のテーブルで並べ替える方法は?

  5. 5

    2つの一意の列を並べ替える2つのテーブルを結合する方法は?

  6. 6

    2つのSQLテーブルを接続し、結果をグループ別に並べ替えます

  7. 7

    Mysqlは、異なるテーブルの2つの列に基づいて結果を並べ替えます

  8. 8

    Datatablesテーブルヘッダースパンをクリックしたときの列の並べ替えを有効/無効にします

  9. 9

    Postgresの結合テーブルの列ごとに行を並べ替える

  10. 10

    ms sql両方のテーブルを選択/結合し、内部結合を使用して並べ替えます

  11. 11

    パンダは値を並べ替えて、グループの各列の上位5つを取得します

  12. 12

    3テーブル列の並べ替えを切り替えます

  13. 13

    ($(#addData).is(: "visible"))の場合、テーブルの列の並べ替えを無効にします

  14. 14

    2つのテーブルを組み合わせて、FIFOによる並べ替えを使用します

  15. 15

    パンダ-1つの列でグループ化し、別の列で並べ替え、3番目の列から値を取得します

  16. 16

    2つのテーブルを結合し、2番目のテーブルのフィールドで並べ替えます。重複はありません。

  17. 17

    ランダムな行を選択し、別のテーブルの列で並べ替えます

  18. 18

    複数のテーブルを結合し、行の合計で並べ替えます

  19. 19

    パンダのピボットテーブルを行と列の合計で並べ替える

  20. 20

    SQL Serverが2つのテーブルを結合し、1つのレコードを並べ替えて表示します

  21. 21

    2つの類似したテーブルをクエリし、並べ替えられた結果を結合します

  22. 22

    2つの類似したテーブルをクエリし、並べ替えられた結果を結合します

  23. 23

    各グループの最後の行を取得し、配列全体をID(pk)DESCで並べ替えて、他のテーブルと結合します

  24. 24

    2つのテーブルを結合し、group byを適用しますが、並べ替え順序を変更します

  25. 25

    左結合を使用する場合は個別のIDを選択し、2つのテーブルで並べ替えます

  26. 26

    マングース-検索結果の並べ替えはブールプロパティに依存します

  27. 27

    結合されたテーブルのJSON属性でActiveRecordリレーションを並べ替えます

  28. 28

    パンダは、グループ結果のすべての列を1つの結果に合計します

  29. 29

    jQueryテーブルの並べ替えは、列で並べ替えられた色を変更します。

ホットタグ

アーカイブ