python - 根据熊猫中的列值重复和填充行?
问题描述
我在很多天的过程中收集数据,并且可以选择说一天中的数据应该是另一天的重复。如何使用重复标记列指定的数据填充 NaN 行?
这个问题的变化:基于列值重复数据框的部分
#Example Dataframes
example_data = [[1,np.NaN,"3a+b"],[2,np.NaN,"c"],[3,1,np.NaN],[4,np.NaN,"b+c"], [5,2,np.NaN], [6,0,0]]
to_solve = pd.DataFrame(example_data,columns=['Day','repeat_tag','calculation'])
desired= [[1,np.NaN,"3a+b"],[2,np.NaN,"c"],[3,1,"3a+b"],[4,np.NaN,"b+c"], [5,2,"c"],[6,0,0]]
desired_table=pd.DataFrame(desired,columns=['Day','repeat_tag','calculation'])
解决方案
IIUC,您可以map
在 repeat_tag 上使用来自系列计算的值一次set_index
Day,并用于fillna
将值分配回计算。
to_solve['calculation'] = to_solve['calculation']\
.fillna(to_solve['repeat_tag']\
.map(to_solve.set_index('Day')['calculation']))
print(to_solve)
Day repeat_tag calculation
0 1 NaN 3a+b
1 2 NaN c
2 3 1.0 3a+b
3 4 NaN b+c
4 5 2.0 c
5 6 0.0 0
推荐阅读
- vb.net - 更新登录密码(vb.net + 访问数据库)
- c++ - 使用 C++20 可以更优雅地读取 N 个输入值吗?
- powershell - 您能否返回用户所属的 Teams 频道列表?
- r - 我正在使用 jtools 包中的 summ() 函数和 kableExtra 来编织 PDF 文档。为什么输出被拆分,我该如何阻止它?
- python-3.x - 优化以找到最小距离
- google-forms - 谷歌表单的负标记
- scala - 为什么更喜欢隐式 val 而不是隐式对象
- typescript - 可能包含父接口属性的子接口?
- python - Pygame精灵按下键时不移动
- javascript - 让 React hook 步入循环