2016-12-20 155 views
1

我有一个称为ro的数据框,它拥有汽车零部件的所有声明,我现在想要的是创建一个名为part_dataframe的函数,其中我可以将原始ro仅分配给仅包含特定部分的新数据框,让说压缩机的子集的名称comp_claims问题调用函数

我的功能是:

def part_dataframe(first_frame, subset, type_number, number): 
    subset = first_frame.loc[first_frame[type_number] == number] 
    subset = subset.reset_index(drop=True) 
    subset['word'] = subset.Comment.str.split().apply(lambda x: pd.value_counts(x).to_dict()) 

当我试图调用的函数:

part_dataframe(ro, comp_claims, 'Part No.', '97701') 

我得到以下错误:

--------------------------------------------------------------------------- 
NameError         Traceback (most recent call last) 
<ipython-input-17-65cf8428af26> in <module>() 
----> 1 part_dataframe(ro, comp_claims, 'Part No.', '97701') 

NameError: name 'comp_claims' is not defined 

我该如何解决呢? 预先感谢您

+3

你确定你调用'part_dataframe'功能之前分配一个值'comp_claims'?检查拼写和范围。 – MYGz

+1

为什么函数立即覆盖'subset',要传入的'comp_claims'?它应该是回报价值吗? –

+0

你可以显示完整的代码,包括你定义'comp_claims'的位置吗? – IanS

回答

2
ro = pd.DataFrame(
    {'Part No.': np.arange(10)} 
) 

def part_dataframe(first_frame, type_number, number): 
    return first_frame.loc[first_frame[type_number] == number] 

subset = part_dataframe(ro, 'Part No.', 3) 
subset 

enter image description here

+0

它完美的工作@piRSquared –