Python 使用数据帧列表定义变量
我有一个dataframe变量列表: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
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())