python - 如果字符串以开头,Python Pandas 替换子字符串
问题描述
我正在尝试编写以下函数:
def d (row):
if df['name'].str.startswith('"'):
return df['name'].str.replace("'","''")
else:
return df['name']
df['name2'] = df.apply(lambda row: d(row), axis=1)
每当字符串在收缩中具有单个撇号时,我都会尝试添加第二个撇号。这仅在我有双引号字符串时出现。
我继续得到一个' KeyError:('name',发生在索引 0')
这在我的数据集中只发生了几次,但我需要将“jack's place”替换为“jack's place”,以便我可以将其注入到 sql 查询中。
解决方案
为什么不能完全替换:
df['name2'] = df['name'].str.replace('\'', '"')
print(df)
name name2
0 ABC ABC
1 SDF SDF
2 jack's place jack"s place
3 jack's place jack"s place
4 jack's place jack"s place
推荐阅读
- python - 在 Python 中使用 if/else 语句返回 True 和 False 的更优雅的方法是什么?
- python-3.x - pytorch 中的简单初始块需要更长的时间在 GPU 上进行训练?
- c++ - 为什么在 C++ 中插入向量是有效的?
- javascript - 使用未知 JSON 节点解析数据
- sql - 如何在 SQL 中找到没有聚合函数的最小值?
- python - 调用定义函数:对已关闭文件的 I/O 操作
- spring-boot - Spring Gateway OAuth - 重定向的完整 URL
- javascript - 如何正确调用我的 Java Script 函数?
- django - 我可以在 urls.py 中将我的 url() 更改为 path()
- openssl - openssl 生成的 ed25519 密钥的精确字节格式