代码之家  ›  专栏  ›  技术社区  ›  Chris

在Python中清理后保存数据帧

  •  0
  • Chris  · 技术社区  · 7 年前

    当我在每个JSON上重复执行相同的过程时,循环似乎是最自然的解决方案。

    我知道Python不赞成动态创建变量名。我希望避免使用字典或创建holder变量来实现这一点。因为我有一个变量列表和一个占位符df,所以我不知道如何在清理后分配/命名变量。

    vars = [a, b, c]
    
    # clean data iteratively
    for i in vars:
        df = pd.DataFrame(i)
        df['value'] = df['value'].replace('.', np.nan).fillna(method='bfill')
        df['value'] = pd.to_numeric(df['value'])
        [???] = df
    
    3 回复  |  直到 7 年前
        1
  •  1
  •   jedwards    7 年前

    除非我误解了你在寻找什么,否则简单的方法似乎是列举 vars 名单( 瓦尔斯 是一个内置的btw,从长远来看,另一个名称可能更好)并通过索引分配回该列表。

    vars = [a, b, c]
    
    # clean data iteratively
    for (i,v) in enumerate(vars):
        df = pd.DataFrame(v)
        ...
        vars[i] = df
    
        2
  •  1
  •   Kyle    7 年前

    vars = [a, b, c]
    
    # clean data iteratively
    for index, i in enumerate(vars):
        df = pd.DataFrame(i)
        df['value'] = df['value'].replace('.', np.nan).fillna(method='bfill')
        df['value'] = pd.to_numeric(df['value'])
        vars[index] = df
    
        3
  •  0
  •   Ali Al-Dossari    7 年前

    您必须使用某种结构来保存保存的已清理dfs,否则您将只是覆盖它们。因此,一个列表或一本字典(甚至另一个df)就可以了。