考虑以下示例df:
Other1 Other2 Name Value
0 0 1 Johnson C
1 0 0 Johnson NaN
2 1 1 Smith R
3 1 1 Smith NaN
4 0 1 Jackson X
5 1 1 Jackson NaN
6 1 1 Jackson NaN
我希望能够用该行中与给定名称关联的df['Value']
值来填充NaN
值。我的期望结果如下,我知道可以通过以下方式实现:
df['Value'] = df['Value'].fillna(method='ffill')
Other1 Other2 Name Value
0 0 1 Johnson C
1 0 0 Johnson C
2 1 1 Smith R
3 1 1 Smith R
4 0 1 Jackson X
5 1 1 Jackson X
6 1 1 Jackson X
然而,如果名称不是按顺序排列的,则此解决方案将无法达到预期的结果。我也不能按df['Name']
排序,因为顺序很重要。是否有一种有效的方法仅通过其关联的名称值填充给定的NaN
值并将其分配给该值?
另外需要注意的是,给定名称始终只与单个值相关联。提前致谢。
Value
,如果它包含一个斜杠(例如'T/F'),那么我最好重命名列名,还是有一种方法可以引用该列名而不会出现语法错误? - rahlf23