[英]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.