如何解决Pandas-iloc-将值与下面的单元格进行比较
对于下表:
使用Pandas-我想实现desired_output列,当当前单元格下面的值不同时为TRUE-否则为FALSE。
我尝试了以下代码-但发生错误。
<span class="highlight"></span>Hat</span> Manufacturers
解决方法
将Series.ne
与具有Series.shift
的值进行比较,并将第一个缺失值替换为原始值:
df = pd.DataFrame({'city':list('mmmssb')})
df['out'] = df['city'].ne(df['city'].shift(fill_value=df['city'].iat[0]))
print (df)
city out
0 m False
1 m False
2 m False
3 s True
4 s False
5 b True
对于较旧的熊猫版本,如果没有使用列city
中的缺失值,请用Series.fillna
替换第一个缺失值:
df['out'] = df['city'].ne(df['city'].shift().fillna(df['city']))
,
df['desired_output'] = df['city'].shift().bfill() != df['city']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。