猿问

如何使用 Pandas 中的指定列创建新数据框?

我有来自 kaggle 的这个 Youtube 频道数据集,其中我想创建一个新的数据框,其中 category_name 仅作为音乐。这是原始数据框-


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 = Music 的值。我已经尝试使用 groupby 和 apply 函数但是没有得到想要的结果


哔哔one
浏览 153回答 1
1回答

阿波罗的战车

您可能想要使用布尔切片。is_music = df['category_name'] == 'Music'new_df = df[is_music]这是有效的,因为is_music它是一个布尔数组,指示category_name某行的列是否等于Music。在上面的三行示例中,is_music看起来像>>> is_music0    False1    True2    False然后,我们可以使用此信息仅选择数据框中is_music为的行True。这就是第二行代码要实现的目标。当然,您也可以将所有这些写在一行中:new_df = df[df['category_name'] == 'Music']
随时随地看视频慕课网APP

相关分类

Python
我要回答