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

如何将字典行附加到空数据帧中?

  •  0
  • Shubh  · 技术社区  · 2 年前

    如果条件在df1或df2中为true,我将尝试附加行

    
    ##df is my input dataframe
    
    #df1 and df2 are empty dataframe
    df1 = pd.DataFrame(columns = df.columns)
    df2 = pd.DataFrame(columns = df.columns)
    
    
    df_dict = df.to_dict('records')
    for rows in df_dict:
         if condition1 == true:
           print(rows)
           df1.append(rows, ignore_index = True)
    
         else:
           print(rows)
           df2.append(rows, ignore_index = True)
    
    

    print正在返回行,但append为空

    2 回复  |  直到 2 年前
        1
  •  1
  •   PTQuoc    2 年前

    不要使用 append 因为它被贬值了。而是使用 concat 会解决你的问题。此外,您不需要按行迭代

    .loc

    df1 = df.loc[df['col'] == condition, : ].copy()
    df2 = df.loc[~(df['col'] == condition), : ].copy()
    

    如果 df1 df2 空数据帧,您希望向其中添加符合条件的行:

    tem1 = df.loc[df['col'] == condition, : ].copy()
    tem2 = df.loc[~(df['col'] == condition), : ].copy()
    
    # df1:
    df1 = pd.concat([df1, tem1])
    
    # df2:
    df2 = pd.concat([df2, tem2])
    
        2
  •  0
  •   AnhPC03    2 年前

    df1 df2 df1 df2型 不会更新。除此之外,你一定是 df1.append df1.appned

    ##df is my input dataframe
    
    #df1 and df2 are empty dataframe
    df1 = pd.DataFrame(columns = df.columns)
    df2 = pd.DataFrame(columns = df.columns)
    
    
    df_dict = df.to_dict('records')
    for row in df_dict:
        if conditions1 == true:
            print(row)
            df1 = df1.append(row, ignore_index = True)
        else:
            print(row)
            df2 = df2.append(row, ignore_index = True)
    
    print(df1)