ValueError:重复不能包含负值

2024-10-03 21:26:12 发布

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

我有一个如下所示的数据集:

enter image description here

我想重复从iddocument的列,并删除ShortCode为空的行

要重复数据帧,我尝试了以下操作:

df = df.reindex(df.index.repeat(df.id)).reset_index(drop=True)

但它给出了以下错误

ValueError: repeats may not contain negative values.

我该怎么做

示例数据集:

     id                                   warehouse          material_vendor  \
0  21.0  Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd   
1   NaN                                         NaN                      NaN   
2   NaN                                         NaN                      NaN   
3   NaN                                         NaN                      NaN   
4   NaN                                         NaN                      NaN   
5  22.0  Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd   
6   NaN                                         NaN                      NaN   
7  23.0  Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd   
8   NaN                                         NaN                      NaN

预期产出:

enter image description here

红色的应该被删除,因为ShortCode是空的


Tags: 数据iddfindexprivatenanpvtlogistics
1条回答
网友
1楼 · 发布于 2024-10-03 21:26:12

我相信通过ffill()而不是reindexrepeat使错误ValueError: repeats may not contain negative values不相关,您可以更容易地实现这一点:

df['ShortCode'] = df['ShortCode'].fillna('remove') #the reason why I do this to more easily use ffill() on the entire dataframe, but I want to save the "remove" value, so I can remove later
df = df.ffill()
df[df['ShortCode'] != 'remove']

Out[1]:
    id                                       warehouse  material_vendor  .....  ShortCode
1   21.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd Separator
2   21.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd INSERT
3   21.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd INSERT
4   21.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd INSERT
6   22.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd INSERT
8   23.0    Yantraksh Logistics Private limited_GGNPC1  Yana Packagings Pvt Ltd INSERT

相关问题 更多 >