parsestr = (
    """(ROOT (S (NP (NP (DT The) (JJ old) (NN oak) (NN tree)) (PP (IN from) (NP (NNP India)))) (VP (VBD fell) (PRT (RP down)))))"""
    )
for i in Tree.fromstring(parsestr).subtrees():
    if i.label() == 'NP':
        print(i)
for i in Tree.fromstring(parsestr).subtrees():
    if i.label() == 'NP':
        pass
Finding head of a noun phrase in NLTK and stanford parse according to the rules of finding head of a NP