我的DF看起来像那样
id zip location
X2 65123 Houston
T5 65123 Houston
A1 nan Houston
M8 89517 Berkley
X3 89518 Berkley
N2 nan Berkley
M9 nan nan
对于'zip'中的某些值,我没有zipcode,但在'location'中有一个条目。
我想用同一位置的一个ZipCode来填充'zip'中的nan值。有时有不止一个选项,例如N2有两个选项89517和89518,选择哪一个并不重要。但我不想改变nan的邮政编码和位置。我该怎么做
如果您不关心填写哪个值,一个简单的方法是按位置和zip对表进行排序,然后使用fillna和method='ffill'
更新:下面的解决方案也处理位置中的nan。首先使用groupby函数,然后在组内按max填充na
由于您不关心使用哪个值,我们可以使用
max
值:如果需要处理
zip
和location
都是NaN
的情况,首先,过滤掉子组:然后执行相同的操作(只是这次您不需要强制转换为
int
,因为您的帧中无论如何都会有NaN
):结果:
相关问题 更多 >
编程相关推荐