函数中的键值问题

Issues with key values within functions

我有一个数据框字典,我想遍历这些并添加一列以将数据框的 key/name 放入列中以供参考。我可以在函数之外很好地管理它:

k = 'df1'
df_dict[k]['Source label'] = "source"

但是如果我把它放在这样的函数中:

def do_all_dfs():
    for k,v in df_dict.items():
        print(k)
        df_dict[k]['Source label'] = "source"

它将正确识别并打印标签,它是字符串类型,但在尝试添加列时抛出错误:

ValueError:无法将字符串转换为浮点数:'source'

我认为这里一定有一些我不理解的基本知识,因为我在另一个函数中遇到了类似的问题,在以这种方式使用 k 时我得到了一个 NameError - 在函数之外很好,但是当我把它在一个里面它抛出一个错误。

字典中有 4 个数据框,几乎完全相同。因为我只是为每个列添加一列,所以我看不出出了什么问题。

我错过了什么?

使用键而不是 .items,并且您不需要 v 循环中的变量

def do_all_dfs():
    for k in df_dict.keys():
        print(k)
        df_dict[k]['Source label'] = "source"