データフレーム内のすべての値に1を追加する 質問する

データフレーム内のすべての値に1を追加する 質問する

以下のようなデータフレームがあります。各行のすべての値に 1 を追加したいと思います。このフォーラムと Python は初めてなので、これを行う方法を概念化できません。各値に 1 を追加する必要があります。ベイズ確率を使用するつもりで、それらを乗算すると事後確率は 0 になります。PS。私も確率については初心者ですが、他の人が同じ方法を適用しています。ご協力をよろしくお願いします。私はこれを実行するのに pandas を使用しています。

Disease  Gene1  Gene2  Gene3 Gene4 
D1    0    0    25   0  
D2    0    0    0    0  
D3    0    17   0    16  
D4    24   0    0    0  
D5    0    0    0    0  
D6    0    32   0    11  
D7    0    0    0    0  
D8    4    0    0    0

ベストアンサー1

これがデータフレームの場合:

df = pd.DataFrame({
    "Disease":[f"D{i}" for i in range(1,9)],
    "Gene1":[0,0,0,24,0,0,0,4],
    "Gene2":[0,0,17,0,0,32,0,0],
    "Gene3":[25,0,0,0,0,0,0,0],
    "Gene4":[0,0,16,0,0,11,0,0]})

  Disease  Gene1  Gene2  Gene3  Gene4
0      D1      0      0     25      0
1      D2      0      0      0      0
2      D3      0     17      0     16
3      D4     24      0      0      0
4      D5      0      0      0      0
5      D6      0     32      0     11
6      D7      0      0      0      0
7      D8      4      0      0      0

これを行う最も簡単な方法は

df += 1

ただし、文字列の列(病気の列)があるため、

これは機能しません。

しかし、次のように、Disease 列をインデックスとして設定すると便利です。

df.set_index('Disease', inplace=True)

データフレームは次のようになります。

         Gene1  Gene2  Gene3  Gene4
Disease                            
D1           0      0     25      0
D2           0      0      0      0
D3           0     17      0     16
D4          24      0      0      0
D5           0      0      0      0
D6           0     32      0     11
D7           0      0      0      0
D8           4      0      0      0

df += 1今実行すると、次のようになります。

         Gene1  Gene2  Gene3  Gene4
Disease                            
D1           1      1     26      1
D2           1      1      1      1
D3           1     18      1     17
D4          25      1      1      1
D5           1      1      1      1
D6           1     33      1     12
D7           1      1      1      1
D8           5      1      1      1

プラス演算はインデックスではなくデータ列にのみ作用するためです。

次のように列ベースでこれを行うこともできます。

df["Gene1"] = df["Gene1"] + 1

おすすめ記事