我有一个数据帧看起来像-
SERIAL COUNTRY GOODS VALUE
1 AUSTRALIA NA NA
1 NA STEEL NA
1 NA NA PACIFIC
2 NEW ZEALAND NA NA
2 NA STEEL NA
2 NA NA COAL
3 INDIA NA NA
3 NA WOOL NA
3 NA NA LIMITED
我想根据串行用不包含NA的值对这个数据帧进行分组。在
应该是这样的-
^{pr2}$我写的代码是-
new_df =df.groupby(['SERIAL'])['COUNTRY'].apply(lambda x: x if x is not 'NA')
我也试过把它做成一个用逗号隔开的字符串,后来又把它们分开,但没用。在
df.groupby(['SERIAL'])['COUNTRY'].apply(lambda x: ','.join(x.unique().astype(str))).reset_index()
有人能帮我解决这个问题吗,或者至少告诉我我方法中的错误。在
我认为需要^{} 如果对于每个组和列只有一个非
NaN
值:另一个更一般的解决方案是按组向前和向后填充缺少的值,然后按所有列^{} :
公司名称:
^{pr2}$相关问题 更多 >
编程相关推荐