我有一個帶有特定標題的資料框和一個帶有匹配標題的字典。我希望簡單地將給定匹配鍵的值與 Pandas 中的匹配列相乘。這是熊貓DF
ID 208230_s_at norm 242009_at norm 211535_s_at norm ... AffyVisit Gender(M/F) DxCode dx
0 phchp083v4 0.005718 6.641902e-04 0.008335 ... phchp083v4 M SZ M-SZ
1 phchp090v1 0.032542 4.315564e-04 0.011494 ... phchp090v1 M SZ M-SZ
2 phchp090v2 0.021074 6.180979e-04 0.006773 ... phchp090v2 M SZ M-SZ
3 phchp090v3 0.015779 4.156884e-04 0.009435 ... phchp090v3 M SZ M-SZ
4 phchp133v2 0.016416 2.205289e-27 0.005122 ... phchp133v2 M SZ M-SZ
5 phchp308v5 0.002679 2.964330e-04 0.006225 ... phchp308v5 M SZ M-SZ
6 phchp366v2 0.009805 8.229048e-04 0.014914 ... phchp366v2 M SZ M-SZ
7 phchp375v1 0.023069 2.961317e-04 0.010417 ... phchp375v1 M SZ M-SZ
8 phchp375v2 0.020838 3.398511e-04 0.010711 ... phchp375v2 M SZ M-SZ
這是我的字典,其標題與給定值的上述 DF 匹配:
{'208230_s_at norm': 2.3012184212079356, '242009_at norm': 14.965237539220922, '211535_s_at norm': 5.499552595639465, '204183_s_at norm': 3.0375335449229115, '224818_at norm': 3.4170449181626052, '201668_x_at norm': 0.4067131613648669, '206385_s_at norm': 4.737388624118393, '210924_at norm': 1632.4015971405947}
我只想將列 208230_s_at 范數與相同的字典鍵相乘,乘以該鍵值。謝謝你。
uj5u.com熱心網友回復:
dict.items()可以從字典中獲取鍵和值的串列。嘗試這個:
for key, value in dict.items():
df[key] = df[key] * value
uj5u.com熱心網友回復:
你可以簡單地做
# d is the dictionary
df[list(d)] *= d
或更明確地
df[list(d.keys())] *= d
uj5u.com熱心網友回復:
找到了一個簡單的解決方案:
maleSZdict = pd.Series(finalMaleSZ.OS_Factor_SZMale.values,index=finalMaleSZ.Probeset).to_dict()
SZ_to_update = list(maleSZdict.keys())
rnaMaleSZcopy[SZ_to_update] = rnaMaleSZcopy[SZ_to_update].mul(pd.Series(maleSZdict), axis=1)[SZ_to_update]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/352883.html
下一篇:搜索csv并回傳它旁邊的值
