Python中文
首页
教程
问答
标签
搜索
登录
注册
用字典匹配和非匹配字符串替换数据帧值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有数据帧:</p> <pre><code>df = pd.DataFrame{'col1': ['afs', 'chk', 'est', 'app'], 'col2': ['ofcr', 'guar', 'ltv', 'gender'], 'col3': ['code', 'mod']} </code></pre> <p>我有一本字典:</p> <pre><code>dict = {'ofcr':'officer','chk':'check','mod':'modification','est':'estimated','app':'application', 'gender':'gender'} </code></pre> <p>我需要迭代df并用它们各自的值替换匹配键。我可以通过以下方法逐列执行此操作:</p> <pre><code>df["col1"] = df["col1"].map(dict) </code></pre> <p>但这会将不匹配项转换为NaN。我想要的是保持标记不变,但添加“-UNKNOWN-”或字符串中类似明显的内容,以便稍后处理。我尝试过循环:</p> <pre><code>for tok in df['col1']: if tok in dict.values(): df.replace(dict, inplace=True) if tok not in dict.values(): df.replace(tok, tok '-UNKNOWN', inplace=True) print(tok) </code></pre> <p>这也替换了匹配项(奇怪的是,在所有列中,不仅仅是传入的一列),但并不影响非匹配项</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>映射完成后,执行以下额外步骤:</p> <pre><code>df["col1"] = df["col1"].map(dict) df["col1"] = df["col1"].fillna('-UNKNOWN') </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
8 回答
如何添加表示整数的擦边字符串?
3 回答
如何添加要在Bokeh中使用的新font.ttf文件?
6 回答
如何添加要显示的矩阵XY轴编号和XY轴
8 回答
如何添加计数?
4 回答
如何添加计数器函数?
5 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
8 回答
如何添加计数器来跟踪while循环中的月份和年份?
10 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
5 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
1 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
6 回答
如何添加评论拉梅尔亚姆
5 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
4 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
1 回答
如何添加距离方法
3 回答
如何添加跟随游戏的敌人精灵
8 回答
如何添加路径以便python可以找到程序?
6 回答
如何添加身份验证/安全性以使用happybase访问HBase?
4 回答