gpt4 book ai didi

python - 使用命名列/行 python 重新排列矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:52 24 4
gpt4 key购买 nike

我被困住了(而且有点时间紧迫),希望得到一些帮助。这可能是一项简单的任务,但我似乎无法解决它..

我有一个矩阵,比如 5 x 5,在文本文件中有一个额外的行名称起始列和相同的列名称,如下所示:

b e a d c
b 0.0 0.1 0.3 0.2 0.5
e 0.1 0.0 0.4 0.9 0.3
a 0.3 0.4 0.0 0.7 0.6
d 0.2 0.9 0.7 0.0 0.1
c 0.5 0.3 0.6 0.1 0.0

我有多个文件,它们具有相同的格式和矩阵大小,但名称的顺序不同。我需要一种方法来改变它们,使它们完全相同并保持 0.0 对角线。因此,我对列所做的任何交换都必须对行进行。

我一直在搜索,看起来 NumPy 可能会做我想做的事,但我从来没有使用过它或一般的数组。任何帮助是极大的赞赏!

简而言之:如何将文本文件放入数组中,然后我可以将行和列交换为所需的顺序?

最佳答案

我建议你使用 Pandas :

from StringIO import StringIO
import pandas as pd
data = StringIO("""b e a d c
b 0.0 0.1 0.3 0.2 0.5
e 0.1 0.0 0.4 0.9 0.3
a 0.3 0.4 0.0 0.7 0.6
d 0.2 0.9 0.7 0.0 0.1
c 0.5 0.3 0.6 0.1 0.0
""")
df = pd.read_csv(data, sep=" ")
print df.sort_index().sort_index(axis=1)

输出:

     a    b    c    d    e
a 0.0 0.3 0.6 0.7 0.4
b 0.3 0.0 0.5 0.2 0.1
c 0.6 0.5 0.0 0.1 0.3
d 0.7 0.2 0.1 0.0 0.9
e 0.4 0.1 0.3 0.9 0.0

关于python - 使用命名列/行 python 重新排列矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com