簡體   English   中英

過濾常見值和排名的數據框

[英]filter data frame for common vales and rank

如果我有如下所示的數據:

              name  times_used gender
0           Sophia       42261   Girl
1            Jacob       42164    Boy
2             Emma       35951   Girl
3            Ethan       34523    Boy
4            Mason       34195    Boy
5          William       34130    Boy
6           Olivia       34128   Girl
7           Jayden       33962    Boy
8          Michael       33842    Boy
9             Noah       33098    Boy
10       Alexander       32292    Boy
11          Daniel       30907    Boy
12           Aiden       30868    Boy
13             Ava       30765   Girl

有人可以給我一個關於如何使用 Pandas 的提示,我可以在其中找到同時用於GirlBoy性別的名稱(如前 10 名)? times_used是一個 int 值,表示為孩子選擇該名稱的次數。

df = pd.read_csv('../resource/lib/public/babynames.csv')
cols = ['name','times_used','gender']
df.columns = cols

print(df)

這是一種方法

top_count=3
df[df.groupby(['gender'])['times_used'].transform(
    lambda x: x.nlargest(top_count)).notna()
  ].sort_values(['gender','times_used'], ascending=False)


    name    times_used  gender
0   Sophia       42261  Girl
2   Emma         35951  Girl
6   Olivia       34128  Girl
1   Jacob        42164  Boy
3   Ethan        34523  Boy
4   Mason        34195  Boy
df = pd.read_csv('../resource/lib/public/babynames.csv')
cols = ['name','times_used','gender']
df.columns = cols


#identify duplicate rows in 'team' column
duplicateRows = df[df.duplicated(['name'])]

#view duplicate rows
print(duplicateRows)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM