python-3.x - 以引号开头的 Pandas 字符串问题
问题描述
我有一个 pandas df,其中一列包含曲棍球运动员的位置。该列如下所示:
Pos
"D"
"D"
"D"
"D"
"D"
"D"
"D"
"D"
"L"
"L","R"
"L","R"
"L","R"
"L","R"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L"
"L","C"
我想将此列中的值转换为“D”或“F”。我必须这样做的代码是:
df.loc[df['Pos'] == '''\"D\"''', 'Pos'] = 'D'
df.loc[df['Pos'] != '''\"D\"''', 'Pos'] = 'F'
但是,我相信我的代码在处理字符串的开头双引号时遇到了问题。我尝试了一堆不同的变体来处理引号,例如 ("\"D\"", '''"D"''') 但输出仍然不正确。关于如何解决这个问题的任何想法?谢谢。
解决方案
如何简单地做:
df['POS'] = df['POS'].apply(lambda x: 'D' if 'D' in x else 'F')
推荐阅读
- javascript - 影响一组对象
- python - 为什么 numpy 文件存储嘈杂的图像?
- spring - Eclipse Tomcat 启动太快 - 在 Tomcat 中配置 Spring Web App 不起作用
- php - 我想在 laravel 中使用模型获取列
- r - 如何在r中取消列出dgematrices列表
- angularjs - 尝试使用 Graph api 从 SharePoint Online 库中获取自定义字段的值
- highcharts - Highcharts:赋予系列更新动画与点更新动画相同的平滑度
- sqlite - 关于 SQLite 漏洞?
- php - CURL 超时 - 服务器问题?其他域名 URL 有效
- python - 从具有两个 y 轴的两个数据框创建一个图