![](/img/trans.png)
[英]drop_duplicates - ValueError: keep must be either "first", "last" or False
[英]pandas: how to select first or last by column in keep with drop_duplicates
如下圖,name 必須放在fisrt
中, team 放在last
中。
如何使用.drop_duplicates()
或其他方式完成此操作?
name team ...
0 john a ...
1 mike b ...
2 john c
↓
name team ...
0 john c ...
1 mike b ...
-- 關於評論的補充說明 --
.groupby('name').agg({'team': 'last', 'country': 'first'})
現在的工作方式,如果country
的第一行是Nan
如果 country 的第一行是 Nan,那么會得到一個不是first
一個的值,如下所示。
這是因為Nan
的案子被忽略了嗎? 即使指定了first
first
Nan
, Nan
仍然必須保留。
name team country ...
0 john a Nan ...
1 mike b Brazil ...
2 john c Canada ...
↓
name team country ...
0 john c Canada ...
1 mike b Brazil ...
您可以使用.groupby()
函數:
df.groupby('name').agg({'team': 'last'})
。
請注意,每個名稱返回的值取決於數據框的排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.