Transpose de datos desde Dataframe de Pandas

Tengo un dataframe de este estilo (pongo las 3 primeras series a modo de ejemplo):

    x	y	lux	        avg	type
0	0	0	241.3	28.2	16
1	1	0	10834.8	1384.4	16
2	2	0	219.0	24.5	16

(…)

pero necesito que los datos estén en el siguiente formato

[(0,0,241.3), (1,0,10834.8),(2,0,219.0)…]

Seria tomar las 3 primeras columnas de cada serie y hacer una tupla, y eso seria un elemento por cada serie.

Mi solución fue esta:

temp_lst = []
for x,y,z in zip(dataset['x'],dataset['y'],dataset['lux']):
    temp_lst.append((x,y,z))

Con esto ya hago lo que necesito, pero quería saber si hay alguna manera mas propia de Pandas de hacer lo mismo.

¿Te sirve resolverlo así?

for r in df.itertuples():
    tmp_lst.append(r[1:4])

donde df es tu dataframe.

Es mejor, pero no es un método de pandas. En realidad era solo para saber si Pandas traia algo asi. Igual gracias.

podes hacer algo mas pandomico asi

z = pd.DataFrame([[1,2,3,4,'A'],[4,5,6,7,'B'],[7,8,9,0,'C']])

	0	1	2	3	4
0	1	2	3	4	A
1	4	5	6	7	B
2	7	8	9	0	C

z['prom3'] = (z[0]+z[1]+z[2])/3

sarasa = z[[4,'prom3']]

	4	prom3
0	A	2.0
1	B	5.0
2	C	8.0

z['tupla'] = (z[0],z[1],z[2])
z[[4,'tupla']]

	4	tupla
0	A	(1, 4, 7)
1	B	(2, 5, 8)
2	C	(3, 6, 9)

No sé mucho de Pandas, pero me pareció una buena excusa para meterme un poco con la API.
Sería algo más o menos así lo que buscabas (allá lejos y hace tiempo)?

df = pd.DataFrame({"x": [0, 1, 2],
                   "y": [0, 0, 0],
                   "lux": [241.3, 10834.8, 219.0],
                   "avg": [28.2, 1384.4, 24.5],
                   "type": [16, 16, 16]})
	x 	y 	lux 	avg 	type
0 	0 	0 	241.3 	28.2 	16
1 	1 	0 	10834.8 	1384.4 	16
2 	2 	0 	219.0 	24.5 	16
list(df.loc[:,"x":"lux"].to_records(index=False))
# output:
[(0, 0, 241.3), (1, 0, 10834.8), (2, 0, 219.)]
1 me gusta

Si, esto buscaba, muchas gracias.