I have column title (genre
). I try to get first element by using many way slicing split and try to using another method but I have this message:
for x in df['genres']:
c = tuple(x).slice(0, x.find('|'))
print (c)
AttributeError: 'tuple' object has no attribute 'slice'
genre
has values like this (Action|Adventure|Science Fiction|Thriller
) for ten thousand rows.
CodePudding user response:
You don't need to use a tuple
for this.
Try this:
for x in df['genres']:
c = x.split('|')[0]
print(c)
CodePudding user response:
tuple
just doesn't have slice
. Try using pandas.Series.str.split
instead:
# Sample data
genres
0 Thriller|Action|Adventure|Adventure|Adventure
1 Science Fiction|Adventure|Science Fiction|Adve...
2 Science Fiction|Thriller|Science Fiction|Thril...
3 Adventure|Thriller|Science Fiction|Action|Thri...
4 Action|Adventure|Adventure|Adventure|Action
df["genres"].str.split("|").str[0]
Output:
0 Thriller
1 Science Fiction
2 Science Fiction
3 Adventure
4 Action
Name: genres, dtype: object
Explain:
df["genres"].str.split("|")
: splits each element indf["genres"]
with the givensep
. This will yieldlist
s of separated items in each row.str[0]
: selects the first item of lists from each row.