如何解决如何将一个数据框列中的值替换为另一个数据框列就像图像
我想用纽约代替未知,用芝加哥代替未知。我的意思是我想用另一列的值替换所有与字符串“ unknown”匹配的值,反之亦然。有帮助吗?
解决方法
fillna是您需要的功能。 首先,将“未知”值替换为nan,然后将所有nan替换为另一个列值。
import pandas as pd
from numpy import nan
df = (
pd.DataFrame(
{
'CITY_MULTIPLE_CHOICE': ['new york','chicago','unknown','Los Angeles'],'CITY_OPEN': ['unknown','Chicago','Chicago'],}
).replace('unknown',nan)
.assign(
CITY_MULTIPLE_CHOICE=lambda x: x.CITY_MULTIPLE_CHOICE.fillna(value=x.CITY_OPEN),CITY_OPEN=lambda x: x.CITY_OPEN.fillna(value=x.CITY_MULTIPLE_CHOICE)
)
)
print(df)
使用
CITY_MULTIPLE_CHOICE CITY_OPEN
0 new york unknown
1 chicago unknown
2 unknown Chicago
3 Los Angeles Chicago
先前的代码将打印:
CITY_MULTIPLE_CHOICE CITY_OPEN
0 new york new york
1 chicago chicago
2 Chicago Chicago
3 Los Angeles Chicago
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。