修剪数据帧中的特定字



我有一个带有一些三角图(以及更多的ngrams(的df,我想检查句子是否以特定单词列表开始或结束,并将它们从我的df中删除。例如:

import pandas as pd
df = pd.DataFrame({'Trigrams+': ['because of tuna', 'to your family', 'pay to you', 'give you in','happy birthday to you'], 'Count': [10,9,8,7,5]})
list_remove = ['of','in','to', 'a']
print(df)
Trigrams+            Count
0   because of tuna       10
1   to your family         9
2   pay to you             8
3   give you in            7
4   happy birthday to you  5

我尝试使用strip,但在上面的示例中,由于tun,第一行将返回

输出应该是这样的:

list_remove = ['of','in','to', 'a']
Trigrams+             Count
0   because of tuna        10
1   pay to you              8
2   happy birthday to you   5

有人能帮我吗?提前感谢!

尝试:

list_remove = ["of", "in", "to", "a"]
tmp = df["Trigrams+"].str.split()
df = df[~(tmp.str[0].isin(list_remove) | tmp.str[-1].isin(list_remove))]
print(df)

打印:

Trigrams+  Count
0        because of tuna     10
2             pay to you      8
4  happy birthday to you      5

您可以尝试以下操作:

import numpy as np
def func(x):
y = x.split()[0]
z = x.split()[-1]
if (y in list_remove) or (z in list_remove):
return np.nan
return x
df['Trigrams+'] = df['Trigrams+'].apply(lambda x:func(x))
df = df.dropna().reset_index(drop=True)

相关内容

  • 没有找到相关文章

最新更新