Python 将多个numpy数组批量转换为数据帧

Python 将多个numpy数组批量转换为数据帧,python,pandas,matrix,Python,Pandas,Matrix,下面的脚本将多个方阵转换为数据帧,首先手动转换,然后作为循环函数,并以相同的方式标记它们的行和列 import numpy as np import pandas as pd from numpy.random import rand A1 = rand(3,3) A2 = A1*2 A3 = A1*3 #example square matrices, no math pattern implied labels = ['a','b','c'] 手动转换: A1 = pd.DataFra

下面的脚本将多个方阵转换为数据帧,首先手动转换,然后作为循环函数,并以相同的方式标记它们的行和列

import numpy as np
import pandas as pd
from numpy.random import rand

A1 = rand(3,3)
A2 = A1*2
A3 = A1*3 #example square matrices, no math pattern implied

labels = ['a','b','c']
手动转换:

A1 = pd.DataFrame(A1, index=labels, columns=labels)
A2 = pd.DataFrame(A2, index=labels, columns=labels)
A3 = pd.DataFrame(A2, index=labels, columns=labels)
批量转换(循环):

我想分别返回单独的数据帧,唯一命名,而不是在一个没有名称的列表中聚在一起,但不知道如何:

返回A1、A2、A3

函数应该足够灵活,可以批量转换传递到函数中的任意数量的数组,而不仅仅是3个 def批次_df(l): ... 返回ll #编辑预期的返回值 A1、A2、A3=批次号(A1、A2、A3) (我不太明白你的问题)


将numpy作为np导入
作为pd进口熊猫
从numpy.random导入rand
my_dfs={}
my_dfs['A1']=兰特(3,3)
my_dfs['A2']=my_dfs['A1']*2
my_dfs['A3']=my_dfs['A1']*3
标签=['a'、'b'、'c']
#----------#
#做事#
#----------#
def批次_df(d):
#在数据帧上循环
对于k,d.items()中的A:
#更新值
my_dfs[k]=pd.DataFrame(A,索引=标签,列=标签)
#不需要返回-->字典是通过引用的
批次df(我的df)
res:my_dfs['A1']

    a           b           c
a   0.501693    0.506768    0.315132
b   0.382843    0.116506    0.194385
c   0.208627    0.033067    0.121261

问题中的
ll
是一个列表。但在该列表中有单独的对象。使函数输出
ll
本身只给出一个输出。相反,我希望从函数中输出3个或更多对象,从
ll
的内容中解包,但是如果您提供了等量的期望值-->A1、A2、A3=或者该值未知?为什么不使用字典?编辑之前的代码工作正常,我只是回答了您关于不理解的问题
    a           b           c
a   0.501693    0.506768    0.315132
b   0.382843    0.116506    0.194385
c   0.208627    0.033067    0.121261