Try:

    # Create an example dataframe
    df = pd.DataFrame({"genres":["Fantasy|Sci-Fi",
                    "Action|Adventure|Fantasy",
                    "Thriller",
                    "Action|Adventure|Thriller|bbv","Action","Action|Adventure|thriller"]})

    # Get a dataframe with as many columns as there are genres
    df = df.genres.str.get_dummies(sep = "|")

    # Get the genres as values
    df = df.multiply(df.columns)

    # Rename the columns to have the genre id
    df.columns = ["genre_" + str(x) for x in range(len(df.columns))]

**Input**:

[![enter image description here][1]][1]

**Output**:

[![enter image description here][2]][2]

***EDIT:***

you can simply use pandas [assign][3] method:

    df.assign(genre1= df.genres.str.split("|", expand = True).iloc[:,:1],
              genre2 = df.genres.str.split("|", expand = True).iloc[:,1:2])

***Output:**

[![enter image description here][4]][4]


  [1]: https://i.sstatic.net/6mqdB.png
  [2]: https://i.sstatic.net/7q4OW.png
  [3]: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.assign.html
  [4]: https://i.sstatic.net/tNhJA.png