pandas データ フレームの列をループする関数を反復または作成しようとしています。この関数は、各列の値を取得し、より大きなファイルでこれらの値を検索することになっています。次に、これらのターゲット値のランクを抽出し、100 列すべてから取得した値のランク合計を含むベクトルを取得します。
100 列のファイルは、simulation.txt という名前で、次のようになります。
SIM0 SIM1 SIM2 ...SIM100
rs168 rs668 rs228 ...rs930
rs466 rs751 rs109 ...rs216
rs484 rs139 rs636 ...rs755
rs104 rs226 rs1540 ...rs671
rs123 rs377 rs732 ...rs672
検索する必要がある大きなファイルは rs_ranks.txt で、次のようになります。
rsid Rank
rs168 1
rs464 2
rs485 3
rs110 4
rs129 5
rs297 6
rs139 7
. .
. .
. .
. .
. .
rs105 2498509
Simulation.txt から SIM0 を抽出し、rs_ranks.txt で SIM0 から rs 番号のランクを取得したいと考えています。SIM0 列の rs 数値のランクを取得したら、ランクの合計を計算したいと思います。
例: rs_ranks から SIM0 のランクを抽出すると、次のようになります。
SIM0 Rank
rs168 1
rs466 49
rs484 398208
rs104 402487
rs123 2972
SIM0 のランクの合計は、=803717 rank_sum_vector(803717,SIM1_ranksum,SIM2_ranksum,SIM100_ranksum) になります。
最後に、シミュレーション テキストの 100 列すべてに対してこれを実行できるようにしたいので、最終的に 100 列すべてに対応する 100 のランクサム値のランクサム ベクトルが得られます。
助けてください!各列を反復処理してこれを行う関数を作成する方法がわかりません。マージ機能を使用することを考えていましたが、これを行う方法がわかりません。ありがとう!