我想用python中的串列值替換csv檔案的第一列
資料:
0 1 2 3 4 5 6 7 8 9
0 0 0 0.3 0 0.3 0 0.3 0 0 0
1 0 0.2 0 0 0 0 0.2 0.4 0.2 0
2 0 0 0.2 0.1 0.3 0.1 0 0.4 0 0
3 0 0 0.1 0.2 0.1 0.1 0.2 0.1 0.1 0.1
4 0 0 0.2 0.1 0 0.1 0.2 0.2 0.2 0.1
5 0 0 0 0 0 0.3 0.3 0 0.3 0
6 0 0 0.3 0 0 0.3 0 0.3 0 0
7 0 0 0.1 0.2 0.1 0.1 0.1 0.2 0.1 0.2
8 0 0 0.1 0.1 0.1 0 0.1 0.1 0.3 0
9 0 0 0.1 0.1 0.1 0.1 0.1 0.2 0.1 0.1
將第一列 0 1 2 3 4.... 替換為串列值。串列包含以下值:
['ZINC53 (Aspirin)', 'ZINC7460 (Vatalanib)', 'ZINC1493878 (Sorafenib)', 'ZINC1546066 (Erlotinib)', 'ZINC1550477 (Lapatinib)', 'ZINC3964325 (Sunitinib)', 'ZINC13550868 (Acetaminophen)', 'ZINC19632614 (Iressa)', 'ZINC19632618 (Imatinib)', 'ZINC27439698 (Canertinib)']
我想要這樣的輸出:
0 1 2 3 4 5 6 7 8 9
ZINC53 (Aspirin) 0 0 0.3 0 0.3 0 0.3 0 0 0
ZINC7460 (Vatalanib) 0 0.2 0 0 0 0 0.2 0.4 0.2 0
ZINC1493878 (Sorafenib) 0 0 0.2 0.1 0.3 0.1 0 0.4 0 0
ZINC1546066 (Erlotinib) 0 0 0.1 0.2 0.1 0.1 0.2 0.1 0.1 0.1
ZINC1550477 (Lapatinib) 0 0 0.2 0.1 0 0.1 0.2 0.2 0.2 0.1
ZINC3964325 (Sunitinib) 0 0 0 0 0 0.3 0.3 0 0.3 0
ZINC13550868 (Acetaminophen) 0 0 0.3 0 0 0.3 0 0.3 0 0
ZINC19632614 (Iressa) 0 0 0.1 0.2 0.1 0.1 0.1 0.2 0.1 0.2
ZINC19632618 (Imatinib) 0 0 0.1 0.1 0.1 0 0.1 0.1 0.3 0
ZINC27439698 (Canertinib) 0 0 0.1 0.1 0.1 0.1 0.1 0.2 0.1 0.1
uj5u.com熱心網友回復:
只需用于loc修改資料框的一列:
example = pd.DataFrame({0: [1, 2, 3],
2: ["a", "b", "c"]})
replacement_list = ["ab", "cd", "ef"]
example.loc[:, 2] = replacement_list
print(example)
0 2
0 1 ab
1 2 cd
2 3 ef
我鼓勵您查看有關資料框的行為loc以及索引/選擇部分資料框的檔案。當然,如果您的串列具有與資料框的行數相同的大小,它將按預期作業。如果沒有,您可以先將串列轉換為系列以處理丟失的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/532880.html
標籤:Python熊猫数据框
