3 votes

Ajout d'index de tuple sur python panda

"""
Example of using Panda
"""
from pandas import DataFrame
d=DataFrame(index=[(i,j) for i in range(1,7) for j in range (1,7)], columns=['sm','d1', 'd2', 'pd1', 'pd2', 'p'])
d.d1=[i[0] for i in d.index]
d.d2=[i[1] for i in d.index]

d.sm = map(sum, d.index)

d.head(20)

Je suis un débutant en pandas, et j'essaie de créer une colonne de somme de tuples, mais voici ce que j'obtiens :

                  sm          d1 d2

(1,1) < objet map à 0x7f...7438 > | 1 | 1 | 1 |

(1,2) < objet map à 0x7f...7438 > | 1 | 2 | |

(1,3) < objet map à 0x7f...7438 > | 1 | 3 |

(1,4) < objet map à 0x7f...7438 > | 1 | 4 |

(1,5) < objet de la carte à 0x7f...7438 > | 1 | 5 |

Est-ce que j'utilise mal la fonction carte ? Est-ce un problème lié à Python3 ? Merci d'avance.

1voto

MaxU Points 5284

IIUC :

In [309]: d['sm'] = d.index.map(np.sum)

In [310]: d
Out[310]:
        sm  d1  d2  pd1  pd2    p
(1, 1)   2   1   1  NaN  NaN  NaN
(1, 2)   3   1   2  NaN  NaN  NaN
(1, 3)   4   1   3  NaN  NaN  NaN
(1, 4)   5   1   4  NaN  NaN  NaN
(1, 5)   6   1   5  NaN  NaN  NaN
(1, 6)   7   1   6  NaN  NaN  NaN
(2, 1)   3   2   1  NaN  NaN  NaN
(2, 2)   4   2   2  NaN  NaN  NaN
(2, 3)   5   2   3  NaN  NaN  NaN
(2, 4)   6   2   4  NaN  NaN  NaN
(2, 5)   7   2   5  NaN  NaN  NaN
(2, 6)   8   2   6  NaN  NaN  NaN
(3, 1)   4   3   1  NaN  NaN  NaN
(3, 2)   5   3   2  NaN  NaN  NaN
(3, 3)   6   3   3  NaN  NaN  NaN
(3, 4)   7   3   4  NaN  NaN  NaN
(3, 5)   8   3   5  NaN  NaN  NaN
(3, 6)   9   3   6  NaN  NaN  NaN
(4, 1)   5   4   1  NaN  NaN  NaN
(4, 2)   6   4   2  NaN  NaN  NaN
(4, 3)   7   4   3  NaN  NaN  NaN
(4, 4)   8   4   4  NaN  NaN  NaN
(4, 5)   9   4   5  NaN  NaN  NaN
(4, 6)  10   4   6  NaN  NaN  NaN
(5, 1)   6   5   1  NaN  NaN  NaN
(5, 2)   7   5   2  NaN  NaN  NaN
(5, 3)   8   5   3  NaN  NaN  NaN
(5, 4)   9   5   4  NaN  NaN  NaN
(5, 5)  10   5   5  NaN  NaN  NaN
(5, 6)  11   5   6  NaN  NaN  NaN
(6, 1)   7   6   1  NaN  NaN  NaN
(6, 2)   8   6   2  NaN  NaN  NaN
(6, 3)   9   6   3  NaN  NaN  NaN
(6, 4)  10   6   4  NaN  NaN  NaN
(6, 5)  11   6   5  NaN  NaN  NaN
(6, 6)  12   6   6  NaN  NaN  NaN

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X