使用熊猫计算不具备特定单词的文章数量

时间:2016-06-02 13:25:17

标签: python pandas

我试图找到我的JSON文件的哪些行包含不具有某些单词的文本。我尝试这样做的方式是通过以下方式进行熊猫和正则表达式:

hello my text * can contain * multiple url like *

我们的想法是按行,轴对其进行分组,但我收到以下错误:# import json module for parsing import json import re import pandas keywords1 = ('economic', 'economy', 'economies', 'Economic', 'Economy', 'Economies') keywords2 = ('uncertain', 'uncertainty', 'uncertanties', 'Uncertain', 'Uncertainty', 'Uncertanties') for i in range(2005,2016): df = pandas.DataFrame([json.loads(l) for l in open('TH500_%d.json' % i)]) # match keywords matchingbodies = df[~df.body.str.contains("|".join(keywords1))&~df.body.str.contains("|".join(keywords2))].body # Count by row counts = matchingbodies.groupby(lambda x: x.axes).agg(len) print(counts) 。我知道我可能犯了一个愚蠢的错误......干杯

1 个答案:

答案 0 :(得分:1)

我认为如果需要groupby index

,则需要
counts = matchingbodies.groupby(df.index).size()

或者:

counts = matchingbodies.groupby(level=0).size()

编辑:

似乎你需要:

matchingbodies = df.loc[(~df.body.str.contains("|".join(keywords1)) &
                        (~df.body.str.contains("|".join(keywords2))), 'body']