Python 如何根据列的行中的内容划分数据帧?
我正在尝试从一个数据帧中获取两个数据帧。dataframe有两组字(中性字和非中性字),因此我需要将其划分为一个仅包含中性字的数据集和一个仅包含非中性字的数据集(包含所有行和列)。这些词在一个叫做PALABRA的专栏里 这是一个变量中的单词示例(它们远不止这些): df如下所示:Python 如何根据列的行中的内容划分数据帧?,python,pandas,Python,Pandas,我正在尝试从一个数据帧中获取两个数据帧。dataframe有两组字(中性字和非中性字),因此我需要将其划分为一个仅包含中性字的数据集和一个仅包含非中性字的数据集(包含所有行和列)。这些词在一个叫做PALABRA的专栏里 这是一个变量中的单词示例(它们远不止这些): df如下所示: PRESSEDKEY PALABRA COLOR KEYCORR RT CORRECT 90 v BURN red r 496 N 96
PRESSEDKEY PALABRA COLOR KEYCORR RT CORRECT
90 v BURN red r 496 N
96 v SUN red r 1307 N
102 v BUG red r 0 N
108 v CLOUD blue a 168 N
114 v ACCIDENT green v 73 Y
这样,我需要在df1中仅用中性词划分数据帧,在df2中用非中性词划分数据帧。我如何才能做到这一点?您可以使用:
我想您应该使用
isin
功能
比如:
df1=df[df.Palabra.isin(['ACCIDENT','BUG','BURN'])])
或
与我的答案相比没有什么不同,它是在2分钟后发布的。如果一个解决方案没有扩展/提升之前发布的解决方案,那么发布它通常不是一个好的做法,因为我正在编写它。在我发布我的答案之前,我没有看到你的答案。当然,这种情况经常发生(当然,我也是如此),但是如果你的答案没有添加任何内容到已经发布的内容中,那么最好将其删除
df1 = df.loc[df['PALABRA'].isin(neutral_words)]
df2 = df.loc[df['PALABRA'].isin(nonneutral_words)]
df1=df[df.Palabra.isin(['ACCIDENT','BUG','BURN'])])
df1=df[df.Palabra.isin(nonneutral_words)