我真的不明白
此数据框仅具有三列:hostname
,attribute
,value
,app
。我将其过滤为仅具有两个着装os
和ip
,所以看起来像这样:
hostname attr value app
----------- ------ ------- ----------
host1 os win10 app1
host1 ip 1.1.1.1 app1
host2 os win10 app2
host2 ip 2.2.2.2 app2
host1 os win10 app3
host1 ip 1.1.1.1 app3
...
现在,我不需要app
列,因此将其删除:
df = df[['hostname', 'attr', 'value']]
...这当然会创建重复项,因此在调用pivot()
之前,我会删除重复项:
df.drop_duplicates(inplace=True)
如果要求重复
df.loc[df.duplicated()]
当然我得到一个空的数据框。无重复。所以我做了pivot()
df.pivot(index='hostiname', columns='attr', values='value')
它抛出ValueError: Index contains duplicate entries, cannot reshape
数据框大约有2,000行,所以在绝望中我像这样检查:
df[0:200].pivot(index='hostiname', columns='attr', values='value')
并且按预期方式工作,因此,如果我一直保留到第239行左右,它将引发错误。我看到239行,我当然没看到任何错误。所以我根本不明白。我看不到我在做什么错