python - 替换熊猫数据框中包含引号的字符串
问题描述
我在数据框中有一列是字典列表。例如:
[{'attr': 'color', 'value': 'BLUE'}]
问题是不需要'attr'和'value',我希望所有行中的格式都更改为:
[{'color' : 'BLUE'}]
pandas str.replace 不起作用,因为 'attr' 和 'value' 包含在引号中,我无法编写一个合适的正则表达式来完全删除 'attr' 和 'value' 但保留引号而不是颜色和蓝色。
解决这个问题的pythonic方法是什么?
解决方案
使用.apply
前任:
import pandas as pd
df = pd.DataFrame({"A": [[{'attr': 'color', 'value': 'BLUE'}]]})
df["A"] = df["A"].apply(lambda x: [dict([i.values()]) for i in x])
print(df)
输出:
A
0 [{'color': 'BLUE'}]
推荐阅读
- cookies - cakePHP中间件中如何设置默认cookie参数
- svg - 我如何创建一个结合了 feTurbulence 和 feGaussianBlur 的 svg 过滤器
- c# - VS Code 中用于 Unity 的 Visual Studio 工具?
- git - 尝试使用 https 将存储库克隆到 NetBeans 时凭据不正确
- gcc - 在 64 位 (x86-64) 机器上构建 32 位 (x86) gcc-10.2.0 时出错
- php - Phpdesktop chrome 不加载字体
- javascript - Javascript:使用变量的内容作为名称
- css - 如何通过反应原生天才聊天设置气泡中显示的图像尺寸?
- python - 与文件名匹配的子字符串列表 - python
- r - 从两个不同的数据集中减去列