擅长:python、mysql、java
<p>一种方法是根据<code>Language</code>的条件使用<code>np.select</code>:</p>
<pre><code>d = {"Name":["Phillipe, Mr Johnson","李, Mr 永","김두한.Kim Do Han","Amori, Shinji/ あもりさせる / 由紀"],
"Language":["English","Mandarin","Korean","Japanese"]}
df = pd.DataFrame(d)
df["new"] = np.select([df["Language"].isin(["English", "Mandarin"]),
df["Language"].eq("Korean")],
[df["Name"].str.split(",", n = 1).str[::-1].str.join(" "),
df["Name"].str.findall(r"[A-Za-z]+").str.join(" ")],
df["Name"].str.findall(r"[A-Za-z]+").str[::-1].str.join(" "))
print (df)
#
Name Language new
0 Phillipe, Mr Johnson English Mr Johnson Phillipe
1 李, Mr 永 Mandarin Mr 永 李
2 김두한.Kim Do Han Korean Kim Do Han
3 Amori, Shinji/ あもりさせる / 由紀 Japanese Shinji Amori
</code></pre>