Python 在设定的时间范围内填写NaN
我需要Python的帮助来:Python 在设定的时间范围内填写NaN,python,pandas,Python,Pandas,我需要Python的帮助来: 循环遍历我的数据集,在column color中找到第一个非NaN值,并将该值存储为Base_color 我希望仅当这些值为NaN时,才使用基色填充基色后5秒范围内的所有NaN值 如果它在5秒内选择了一种新颜色,我想将该颜色存储为基本颜色,并在5秒内用新找到的基本颜色替换新找到的基本颜色之后的所有NaN 这是我的数据集的一个示例: Name Color Emotion Time Bob NA angry 2018-11-20 16:14:31
Name Color Emotion Time
Bob NA angry 2018-11-20 16:14:31
Bob NA angry 2018-11-20 16:14:31
Bob red sad 2018-11-20 16:14:31
Bob red neutral 2018-11-20 16:14:31
Bob blue sad 2018-11-20 16:14:32
Bob red sad 2018-11-20 16:14:32
Bob NA neutral 2018-11-20 16:14:33
Bob NA neutral 2018-11-20 16:14:33
Bob NA sad 2018-11-20 16:14:34
Bob blue fear 2018-11-20 16:14:35
请帮助:)谢谢找到第一个有效的颜色使用:
valid_index = df['Color'].first_valid_index()
base_color = df['Color'][valid_index]
对于您的问题2和3:
for index, row in df.iterrows():
if ((row['Time'] - df['Time'][valid_index]).dt.seconds < 5):
if row['Color'] == np.nan:
row['Color'] = base_color
else:
base_color = row['Color']
valid_index = index
对于索引,df.iterrows()中的行:
如果((行['Time']-df['Time'][valid_index]).dt.seconds<5):
如果行['Color']==np.nan:
行['Color']=基本颜色
其他:
基本颜色=行['color']
有效索引=索引
请不要共享代码或数据的图像,共享您的数据帧样本而不是共享代码,这样我们可以复制您的数据集并帮助您找到解决方案。@AlexandreNixon我已经更改了它,谢谢advise@MohitMotwani我真的不知道从哪里开始写代码,我知道我必须实现什么,但我需要代码方面的帮助