如何为每个词性标记创建一个 pandas 数据框列?
How can I create a pandas dataframe column for each part-of-speech tag?
我有一个数据集,其中包含作为数据框的一列的标记化、POS 标记的短语:
Current Dataframe
我想在数据框中创建一个新列,仅包含上一列中的专有名词:
Desired Solution
现在,我正在为单行尝试这样的操作:
if 'NNP' in df['Description_POS'][96][0:-1]:
df['Proper Noun'] = df['Description_POS'][96]
但是我不知道如何为每一行循环这个,以及如何获得包含专有名词的元组。
我现在很新,不知道该用什么,所以非常感谢任何帮助!
编辑:我尝试了推荐的解决方案,似乎有效,但有一个问题。
这是我的数据框:
Original dataframe
实施推荐的代码后
df['Proper Nouns'] = df['POS_Description'].apply(
lambda row: [i[0] for i in row if i[1] == 'NNP'])
看起来像这样:
Dataframe after creating a proper nouns column
您可以使用 apply 方法,顾名思义,该方法会将给定的函数应用于数据框或系列的每一行。这将 return 一个系列,您可以将其作为新列添加到数据框中
df['Proper Nouns'] = df['POS_Description'].apply(
lambda row: [i[0] for i in row if i[1] == 'NNP'])
我假设 POS_Description dtype 是一个元组列表。
我有一个数据集,其中包含作为数据框的一列的标记化、POS 标记的短语:
Current Dataframe
我想在数据框中创建一个新列,仅包含上一列中的专有名词:
Desired Solution
现在,我正在为单行尝试这样的操作:
if 'NNP' in df['Description_POS'][96][0:-1]:
df['Proper Noun'] = df['Description_POS'][96]
但是我不知道如何为每一行循环这个,以及如何获得包含专有名词的元组。 我现在很新,不知道该用什么,所以非常感谢任何帮助!
编辑:我尝试了推荐的解决方案,似乎有效,但有一个问题。
这是我的数据框: Original dataframe
实施推荐的代码后
df['Proper Nouns'] = df['POS_Description'].apply(
lambda row: [i[0] for i in row if i[1] == 'NNP'])
看起来像这样: Dataframe after creating a proper nouns column
您可以使用 apply 方法,顾名思义,该方法会将给定的函数应用于数据框或系列的每一行。这将 return 一个系列,您可以将其作为新列添加到数据框中
df['Proper Nouns'] = df['POS_Description'].apply(
lambda row: [i[0] for i in row if i[1] == 'NNP'])
我假设 POS_Description dtype 是一个元组列表。