Concaténation d'une ligne d'un tableau 2D avec un tableau 1D
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Concaténation d'une ligne d'un tableau 2D avec un tableau 1D



  1. #1
    Loulou2748

    Concaténation d'une ligne d'un tableau 2D avec un tableau 1D


    ------

    Bonjour,

    Dans le cadre d'une simulation numérique pour un problème de physique je dois concaténer des tableaux numpy.

    En fait j'initialise un premier tableau numpy phin à deux dimensions vide. Chaque phin[i] correspondant à une vitesse initiale v0[i].
    Mais pour chaque vitesse initiale v0[i] je dois calculer une fonction phi pour chaque valeur de A (la fonction phi renvoie un tableau numpy 1d). Et j'aimerais concaténer mes tableaux que me renvoie ma fonction phi pour chaque valeur de v0[i] dans phin entre eux sauf que ça ne veut pas concaténer des tableaux de dimension différente.

    En clair je veux : phin = [[phi(A[0], v0[0]), phi(A[1], v0[0]), ..., phi(A[n], v0[0])], [phi(A[0], v0[1]), phi(A[1], v0[1]), ..., phi(A[n], v0[1])], ..., [phi(A[0], v0[m]), phi(A[1], v0[m]), ..., phi(A[n], v0[m])]]

    Comment puis-je faire ? Y'a t-il une autre méthode ?

    Merci d'avance !

    Code:
    def bifurcation(N, t0) :
        A = np.arange(0.26e-3, 0.55e-3, 1e-6)
        v0 = [0.3, 0.4, 0.5, 0.6]
        phin = np.array([[], [], [], []])
        
        for i in range(len(v0)) :
            for k in range(len(A)) :
    
                a = phi(A[k], v0[i])
                phin[i] = np.concatenate([phin[i], a])
    
        return phin

    -----

  2. #2
    umfred

    Re : Concaténation d'une ligne d'un tableau 2D avec un tableau 1D

    il y a une histoire de transposer le tableau 1d (par défaut, il est sous forme de ligne, il faut le mettre en colonne pour le rajouter)
    J'avais répondu ça sur OC, il y a quelques temps (c'était une question avec pandas) https://openclassrooms.com/forum/suj...-series-iloc-1
    https://pandas.pydata.org/pandas-doc...to-a-dataframe

    Code:
    pd.concat([closed,last.to_frame().T], ignore_index=True)
    On transforme la série en dataframe avec to_frame

    On prend la transposé avec T

    Il y aura un avertissement sur le type booléen.

    Pour supprimer l'avertissement, il faut convertir le type de la colonne is_closed en booléen; on peut faire comme ça ici (on convertit le dataframe issu de last avec les mêmes types que le dataframe closed):

    Code:
    pd.concat([closed,last.to_frame().T.astype(closed.dtypes)],ignore_index=True)

Discussions similaires

  1. Java; problème sur mon tableau càd BigInteger avec le tableau
    Par saniadaff dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 02/05/2022, 17h07
  2. Bien alimenter une ligne de tableau divisionaire
    Par invite4fb9968f dans le forum Bricolage et décoration
    Réponses: 12
    Dernier message: 25/07/2020, 23h23
  3. [Blanc] protection au tableau de la ligne d'un lave-linge /four 16A, 32A ?
    Par fpiquet dans le forum Dépannage
    Réponses: 7
    Dernier message: 30/12/2017, 18h54
  4. propriété de la 3ème ligne du tableau périodique
    Par invite1b4cbead dans le forum Chimie
    Réponses: 3
    Dernier message: 25/11/2012, 12h52
  5. Quatrième ligne du tableau périodique
    Par invite8e86a13d dans le forum Chimie
    Réponses: 11
    Dernier message: 11/11/2012, 16h16