按规定时间填写

2024-04-25 18:01:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要Python帮助:

  1. 循环遍历我的数据集,在ColumnColor中找到第一个非NaN值,并将该值存储为基本颜色
  2. 我想用基色填充基色后5秒范围内的所有NaN值,前提是这些值是NaN
  3. 如果它在5秒钟内拾取一个新颜色,我想将该颜色存储为基色,并在5秒钟内用新找到的基色替换新找到的基色之后的所有NaN

这是我的数据集的一个示例:

 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

请帮忙:)谢谢


Tags: 数据颜色bluerednanbobna内用
1条回答
网友
1楼 · 发布于 2024-04-25 18:01:30

要查找第一个有效的颜色使用:

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

相关问题 更多 >