Как создать новый фрейм данных, используя указанный столбец в Pandas? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть этот набор данных каналов Youtube от kaggle, в котором я хочу создать новый фрейм данных с именем category_name только как musi c. вот исходный фрейм данных -

df = pd.read_csv('channels.csv')
df.head(3)

вывод для этого

category_id category_name   channel_id  country description followers   join_date   location    picture_url profile_url title   trailer_title   trailer_url videos
0   24  Entertainment   UC-lHJZR3Gqxm24_Vd_AJ5Yw    United States   I make videos.  69896406    2010-04-29  NaN https://yt3.ggpht.com/a-/AN66SAztY6oYWZnS1Cae9...   http://www.youtube.com/channel/UC-lHJZR3Gqxm24...   PewDiePie   bitch lasagna   https://www.youtube.com/watch?v=6Dh-RL__uN4 3649
1   10  Music   UCq-Fj5jknLsUf-MWSy4_brA    India   \   69471946    2006-03-13  NaN https://yt3.ggpht.com/a-/AN66SAxPfKnfHAnAs0rOq...   http://www.youtube.com/channel/UCq-Fj5jknLsUf-...   T-Series    Guru Randhawa: GOLIMAAR Lyrical Video | Bhusha...   https://www.youtube.com/watch?v=nJ1f44JvlC8 12820
2   24  Entertainment   UCIwFjwMjI0y7PDBVEO9-bkQ    NaN Help change the world. OUR album \'Purpose\' o...   41858494    2007-01-15  NaN https://yt3.ggpht.com/a-/AN66SAzY-4LlEPxP9YOux...   http://www.youtube.com/channel/UCIwFjwMjI0y7PD...   Justin Bieber   DJ Khaled - No Brainer (Official Video) ft. Ju...   https://www.youtube.com/watch?v=kxloC1MKTpg 132

Я хотел создать новый фрейм данных, в котором я хочу хранить только значения, имеющие category_name = Musi c. Я пытался использовать групповые и применять функции, однако не получил желаемого результата

1 Ответ

1 голос
/ 13 апреля 2020

Возможно, вы захотите использовать логическое нарезание.

is_music = df['category_name'] == 'Music'
new_df = df[is_music]

Это работает, потому что is_music является логическим массивом, который указывает, равен ли столбец category_name строки Music. В приведенном выше примере с тремя строками is_music будет выглядеть примерно так:

>>> is_music
0    False
1    True
2    False

Затем мы можем использовать эту информацию, чтобы выбрать только те строки фрейма данных, где is_music равно True , Это то, чего достигает вторая строка кода. Конечно, вы могли бы просто написать все это в одной строке:

new_df = df[df['category_name'] == 'Music']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...