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

时间:2020-05-23 15:15:00

标签: python pandas for-loop substring

不确定我是否做对了-请先在此处发布信息,然后请保持柔和:)

下面的硒。

Print screen from my Jupyter Notebook

我想做的是从df_Grundinladdning ['Datan']数据帧创建一个新的数据帧,其中包括包含字符串“ #TRANS”的行。

3 个答案:

答案 0 :(得分:1)

这是一种实现方法:

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

答案 1 :(得分:0)

描述了正确的方法here.,即使没有语法错误,循环也会非常慢。

答案 2 :(得分:0)

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

df_transOnly= df_Grundinladdning[df_Grundinladdning["Datan"].str.contains('#TRANS')]
df_transOnly #for printing df

因此您将获得所需的数据框,如下所示:

      Datan
5     #TRANS232
12    #TRANS455
20    #TRANS3144
104   #TRANS1234
500   #TRANS213