我希望用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发布于 2022-11-13 19:20:37
只需使用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的行为以及索引/选择部分数据的文档。当然,如果您的列表具有与dataframe的行数相同的大小,则它将按预期工作。如果没有,您可以首先将列表转换为系列,以处理丢失的数据。
https://stackoverflow.com/questions/74423706
复制相似问题