以下是我的数据示例:
import pandas as pd
data = {'Text':['This is an example,',
'Another sentence is here.',
'Lets have fun.',
'this happened weeks ago.',
'I am not sure what to put here.',
'Another fake sentence.'],
'Score':[20, 21, 19, 18, 16, 12]}
# Create DataFrame
df = pd.DataFrame(data)
data_words = {'words':['is',
'fun',
'happened',
'example'],
'frequency':[127, 112, 1234, 32]}
# Create DataFrame
df2 = pd.DataFrame(data_words)
#Final Result:
data_result = {'words':['is',
'fun',
'happened',
'example'],
'frequency':[127, 112, 1234, 32],
'Text': ['This is an example,',
'Lets have fun.',
'this happened weeks ago.',
'This is an example,']}
df_final = pd.DataFrame(data_result)
我试图根据单词是否出现在文本中来匹配df['text']
和df2['words']
。我只需要每个单词一个文本,理想情况下它将基于"Score"
,但这不是完全必要的
因此,最后的df
将有列:"Text"
、"Score"
、"words"
和"frequency"
两个数据帧之间的简单列表理解,第一次出现时使用
[0]
输出:
为了解释列表理解,我在搜索“y”中的“x”时返回值“y”,其中x是
words
的每一行,y是text
的每一行。这将返回每行所有匹配项的列表。有些行在列表中有多个值,因为有多个匹配项,所以根据预期的输出,我在末尾添加了一个[0]
,以便获取每个列表中返回的第一个值,用于使用lambda x逐行应用的列表理解。否则,如果没有[0]
,将返回所有匹配项的列表相关问题 更多 >
编程相关推荐