Python 使用数据帧列表定义变量

Python 使用数据帧列表定义变量,python,dataframe,Python,Dataframe,我有一个dataframe变量列表: B = [df1,df2,df3,df4] 我正在运行一个for循环,如下所示: for element in B: element + '_norm' = (element - element.mean())/ (element.max() - element.min()) 如何编写变量名,以便引用规范化的数据帧?也就是说,我希望能够使用变量“df3_norm”定义规范化数据帧3。如何将变量写入for循环,以便引用“df3_n

我有一个dataframe变量列表:

 B = [df1,df2,df3,df4]
我正在运行一个for循环,如下所示:

 for element in B:
     element + '_norm' = (element - element.mean())/ (element.max() - 
     element.min())
如何编写变量名,以便引用规范化的数据帧?也就是说,我希望能够使用变量“df3_norm”定义规范化数据帧3。如何将变量写入for循环,以便引用“df3_norm”格式?

使用
dict

df_dict = {}
for i, element in enumerate(B):
    df_dict['df%i_norm' % i] = (element - element.mean())/(element.max() - element.min())
顺便说一句,标准化涉及从非
平均值
的元素中减去
min

如果您想要标准化:

否则,如果需要标准化:


'df%i_norm'
没有将变量
i
注入到键中,您需要
f“df{i}u norm”
当我运行代码并尝试打印df1_norm时,我已经尝试以如下方式运行代码:df_dict={df1,df2,df3,df4}当我在dfu dict={}行收到一个错误。错误是“序列对象是可变的,因此它们不能被散列”我不明白序列对象“df_dict”的“散列”是什么意思?上面的错误听起来像dict={df1,df2…}不允许接受散列整数,因为字典的元素是可变的。字典值最初是从excel文件中解析出来的,命名为df1、df2等。如果我正确理解了冲突,那么字典的结构就是一个难题。我需要为循环过程引用现有变量,并重命名输出变量以对应于输入变量。有什么想法吗?不要使用动态变量,而是应该使用一个容器,比如
列表
dict
df_dict['df%i_norm' % i] = (element - element.min())/(element.max() - element.min())
#                                         ^^^^^
df_dict['df%i_norm' % i] = (element - element.mean())/(element.std())