Chcę wybrać kilka określonych wierszy na podstawie wartości dwóch kolumn. Na przykład:Wybierz rzędy klatek pandy na podstawie wartości dwóch kolumn
d = {'user' : [1., 2., 3., 4] ,'item' : [5., 6., 7., 8.],'f1' : [9., 16., 17., 18.], 'f2':[4,5,6,5], 'f3':[4,5,5,8]}
df = pd.DataFrame(d)
print df
Out:
f1 f2 f3 item user
0 9 4 4 5 1
1 16 5 5 6 2
2 17 6 5 7 3
3 18 5 8 8 4
Chcę wybrać wiersze na podstawie wartości "użytkownika" i "elementu". Biorąc pod uwagę 2d numpy tablica przechowująca [user, poz] Wartości par:
samples = np.array([[1,5],[3,7],[3,7],[2,6]])
Out:
array([[1, 5],
[3, 7],
[3, 7],
[2, 6]])
Następnie oczekiwany wynik to:
Out:
f1 f2 f3 item user
0 9 4 4 5 1
2 17 6 5 7 3
2 17 6 5 7 3
1 16 5 5 6 2
Następnie mój ostatecznym celem jest uzyskanie 2d NumPy sklepów tablicy wszystko wartości kolumny z wyjątkiem pozycji i użytkownika, który jest:
Out:
array([[9, 4, 4],
[17, 6, 5],
[17, 6, 5],
[16, 5, 5]])
Jak widzimy, to jest wartości kolumn F1, F2, F3.
Jak mogę to zrobić?
Wow! @unutbu, to świetnie! Dzięki! Właśnie tego chcę, ponieważ nie chcę używać pętli. – Excalibur