有没有一种更简单的方法可以进行自定义旅语化



我有一个由两列组成的数据帧。第一个["lemm"]的单词,如果它们出现,应该改变。第二个["word"],把它们改成什么。我是新手,所以我花了很多时间写我认为很草率的代码,因为它在df中迭代,而且速度很慢。但是,我只是想知道,对于我自己的学习来说,是否有更好的方法来做到这一点。

lemm是具有两列的df(引理df(。df是我需要做引理的地方(只有一列单词(。

for words in lemm["lemm"]:
if words in df[0].values:
df[df[0]==words] = lemm['word'].loc[lemm["lemm"]==words].values[0]

这里有一个例子来说明另一种方法:

import pandas as pd
lemm = pd.DataFrame(
{
"lemm": ["apples", "pears", "tasked", "children"],
"word": ["apple", "pear", "task", "child"],
}
)
print(lemm)
# Output
lemm   word
0    apples  apple
1     pears   pear
2    tasked   task
3  children  child
df = pd.DataFrame(["apples", "children", "ipse", "lorem"])
print(df)
# Output
0
0    apples
1  children
2      ipse
3     lorem

lemm中生成dict(lemm:word(,并在df:中替换为match

df = df.applymap(lambda x: lemm.set_index("lemm").to_dict()["word"].get(x, pd.NA))
print(df)
# Output
0
0  apple
1  child
2   <NA>
3   <NA>

最新更新