在熊猫中使用for循环创建新的df

不知道我是否做对了-首先在这里发布,所以请保持柔和:)

硒下面的图片。

Print screen from my Jupyter Notebook

我正在尝试从df_Grundinladdning ['Datan']数据帧创建一个新的数据帧,该数据帧仅包含包含字符串“ #TRANS”的行。

评论
  • 彻底放弃了
    彻底放弃了 回复

    这是一种方法:

    df = pd.DataFrame({"Datan": ["x", "TRANS y", "z", "TRANS u", "v", "TRANS w"]})
    print(df)
    
    new_df = df[df.Datan.str.contains("TRANS")]
    print(new_df)
    

    结果:

    (original dataframe)
         Datan
    0        x
    1  TRANS y
    2        z
    3  TRANS u
    4        v
    5  TRANS w
    
    (new dataframe)
         Datan
    1  TRANS y
    3  TRANS u
    5  TRANS w
    
  • nsunt
    nsunt 回复

    The right method is described here. The loop, even if it did not have syntax errors, would be very very slow.

  • x呆子x
    x呆子x 回复

    您不需要遍历数据框,您可以使用以下命令轻松获得结果数据框:

    df_transOnly= df_Grundinladdning[df_Grundinladdning.Datan== '#TRANS']
    df_transOnly #for printing df
    

    这样您将获得所需的数据框,如下所示:

          Datan
    5     #TRANS
    12    #TRANS
    20    #TRANS
    104   #TRANS
    500   #TRANS