2015-10-09 21 views
7

Tôi có một hàm có nhiều đầu vào và muốn sử dụng SFrame.apply để tạo cột mới. Tôi không thể tìm cách chuyển hai đối số thành SFrame.apply.Làm cách nào để sử dụng `apply` với hàm nhận nhiều đầu vào

Lý tưởng nhất, nó sẽ lấy mục nhập trong cột làm đối số đầu tiên và tôi sẽ chuyển sang đối số thứ hai. Trực giác giống như ...

def f(arg_1,arg_2): 
    return arg_1 + arg_2 

sf['new_col'] = sf.apply(f,arg_2) 

Trả lời

1

Hãy thử điều này.

sf['new_col'] = sf.apply(lambda x : f(arg_1, arg_2)) 
12

giả sử đối số đầu tiên của hàm f là một trong cột.

Say argcolumn1 trong sf, sau đó

sf['new_col'] = sf['argcolumn1'].apply(lambda x:f(x,arg_2)) 

nên làm việc

+0

này không hoạt động –

+0

hãy thay thế f với tên chức năng của bạn như thế nào nếu bạn có hàm có tên count_imp_words sau đó bạn sẽ viết: Sản phẩm [ 'tuyệt vời '] = sản phẩm [' word_count ']. apply (lambda x: count_imp_words (x,' awesome ')) –

Các vấn đề liên quan