简体   繁体   English

在 pandas dataframe 的列中为字符串的每个单词添加引号

[英]Add quotes to each word of string in column of pandas dataframe

I have a Pandas dataframe something like below:我有一个 Pandas dataframe 如下所示:

CANDIDATE_ID候选ID Job1_Skill1工作1_技能1
12 12 "Oracle" AND "Python" “甲骨文”和“Python”
13 13 asset management, business Management, Oracle DBA资产管理、业务管理、Oracle DBA
14 14 UX, UI, UE4, Photoshop用户体验、用户界面、UE4、Photoshop
15 15 "Business Developer" “企业发展者”

I want to add double quotes to each word which does not already have it also replace "," with word "AND".我想为每个没有双引号的单词添加双引号,并将“,”替换为单词“AND”。 My final dataFrame should look like below:我最终的 dataFrame 应该如下所示:

CANDIDATE_ID候选ID Job1_Skill1工作1_技能1
12 12 "Oracle" AND "Python" “甲骨文”和“Python”
13 13 "asset management" AND "business Management" AND "Oracle DBA" “资产管理”和“业务管理”和“Oracle DBA”
14 14 "UX" AND "UI" AND "UE4" AND "Photoshop" “UX”和“UI”和“UE4”和“Photoshop”
15 15 "Business Developer" “企业发展者”

I am using python 3.8 for it.我正在使用 python 3.8。 Can anyone suggest a way to do that?谁能建议一种方法来做到这一点?

So, given the following dataframe:因此,给定以下 dataframe:

import pandas as pd

df = pd.DataFrame(
    {
        "CANDIDATE_ID": {0: 12, 1: 13, 2: 14, 3: 15},
        "Job1_Skill1": {
            0: 'Oracle AND "Python"',
            1: "asset management, business Management, Oracle DBA",
            2: "UX, UI, UE4, Photoshop",
            3: "Business Developer",
        },
    }
)

You can do it using Pandas method chaining, like this:您可以使用 Pandas 方法链接来做到这一点,如下所示:

df["Job1_Skill1"] = (
    df["Job1_Skill1"]
    .str.replace('"', "")
    .str.replace(",", " AND")
    .apply(lambda x: " AND ".join(f"'{word}'" for word in x.split(" AND ")))
)

Which outputs the desired result:输出所需的结果:

   CANDIDATE_ID                                                    Job1_Skill1
0            12                                          'Oracle' AND 'Python'
1            13  'asset management' AND 'business Management' AND 'Oracle DBA'
2            14                        'UX' AND 'UI' AND 'UE4' AND 'Photoshop'
3            15                                           'Business Developer'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM