Pandas Fillna具有每组的MAX value_counts

时间:2018-05-31 12:51:16

标签: python pandas

DataFrame中有两列名为" country" &安培; " taster_name&#34 ;.专栏" taster_name"得到了一些缺失值。我想用每个国家的taster_name的MAX VALUE_COUNTS填充缺失值(取决于缺失值所属的国家/地区)。我不知道如何才能做到。

从下面的代码中,我们可以检查每个国家/地区的taster_name的MAX VALUE_COUNTS。

options(datatable.verbose = TRUE)

1 个答案:

答案 0 :(得分:0)

试试这个,

df.groupby('country')['teaser_name'].apply(lambda x:x.fillna(x.value_counts().index.tolist()[0]))

因为您没有提供样本数据。我是自己创造的。

示例输入:

   country teaser_name
0        A     abraham
1        B       silva
2        A     abraham
3        A         NaN
4        B         NaN
5        C        john
6        C         NaN
7        C        john
8        C       jacob
9        A         NaN
10       B       silva
11       A     william

输出:

   country teaser_name
0        A     abraham
1        B       silva
2        A     abraham
3        A     abraham
4        B       silva
5        C        john
6        C        john
7        C        john
8        C       jacob
9        A     abraham
10       B       silva
11       A     william

说明: 尝试groupby国家/地区,并使用value_counts填充NaN值。默认情况下,value_counts按降序排列。因此,您可以使用第一个元素并填充NaN。