import pandas as pd
import numpy as np
data = np.array([['', 'Col1', 'Col2', 'Col3'],
['Row1', 1, 2, 3],
['Row2', np.nan, 5, 6],
['Row3', 7, 8, 9]
])
df = pd.DataFrame(data=data[1:, 1:],
index=data[1:,0],
columns=data[0,1:])
OutPut:
Col1 Col2 Col3
Row1 1 2 3
Row2 nan 5 6
Row3 7 8 9
我想遍历dataframe并用Row1['Col3']中的值替换Row2['Col1'](循环中的当前行)中的NaN值(与循环中的前一个记录不同的列)
我很抱歉没有从我的数据集中发布实际数据,所以这里是:
我需要脚本在“Open”列中找到任何'NaN的,并将其替换为前一行中的“Last”(此处用双星号突出显示)。在
我感谢所有的帖子,然而,这是最终的结果:
^{pr2}$在替换
nan
之前,您还有一件事需要解决:第一:你使用的是数组,数组不接受连接类型,这意味着你的nan不是np.nan公司再说一遍,就是“南”
第二,我使用
^{pr2}$np.roll
+combine_first
来填充nan
一种方法是使用}:
stack
、ffill
和{输出:
^{pr2}$相关问题 更多 >
编程相关推荐