2016-12-20 90 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 –