0
votes

Comment obtenir au hasard 20 éléments de np.array et l'enregistrer dans DataFrame?

J'ai dataframe de 1 à 80 numéros Comment puis-je obtenir 20 éléments de manière aléatoire et sauvegarder le résultat à un autre Dataframe? Je ne peux pas sauver chaque liste comme une ligne. Ses éléments d'économie comme une colonne. À l'avenir, je veux essayer de prédire tous les éléments de radom avec Sklearn xxx pré>

Je dois obtenir 20 nombres uniques et écrire une ligne. Par exemple dans Python: P>

  0 1 2 3 4 5 6 7 8 9 10 11 12 ... 20
0 1 5 10 14 20 55 67 34 ......     20 elements
1
.
.


0 commentaires

3 Réponses :


5
votes

Utilisez df.sample () Code> pour obtenir des échantillons de données FRM A Dataframe: xxx pré>

pour une permutation aléatoire np.random.permutation () code> : P>

df1 = pd.DataFrame(np.reshape(df.values,(4,20)))

>>df1


    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19
0   4   3   10  2   8   7   1   5   6   9   14  13  20  12  18  17  11  15  16  19
1   24  23  30  22  28  27  21  25  26  29  34  33  40  32  38  37  31  35  36  39
2   44  43  50  42  48  47  41  45  46  49  54  53  60  52  58  57  51  55  56  59
3   64  63  70  62  68  67  61  65  66  69  74  73  80  72  78  77  71  75  76  79


3 commentaires

Je veux 20 éléments uniques et non une séquence. Par exemple: 1,5,2,7,43,67,54,34,76,80,45,20,19,44,62 .. Et il m'a donné 10 colonnes, je veux obtenir chaque 20 nombre aléatoire écrit en un rangée. Ce sera 10 colonnes, j'ai besoin de 20 colonnes une ligne


@SoloMatador: veuillez vérifier EDIT et EDIT1, pensez que c'est ce que vous recherchez.


Merci beaucoup brah)) Je pensais que je ne peux pas d'abord expliquer correctement))



1
votes

Ceci est un moyen simple d'utiliser des réponses de Stackoverflow existantes:

1- Aplatissez la matrice de sorte que cela ressemble plus à une liste, vous permettra de ne traiter qu'un seul index au lieu de traiter deux index de tableau < p> https: // docs. sciped.org/doc/numpy-1.15.0/Reference/Generated/numpy.ndarray.flaten.html xxx

2- Choisissez des éléments aléatoires de l'aplatie Array une des réponses ici

Comment Pour sélectionner aléatoirement un élément dans une liste?

3- avec les données sélectionnées, construisez votre Dataframe


0 commentaires

1
votes

Vous pouvez également utiliser numpy.random.choice et vous pouvez spécifier les lignes exactes que vous voulez dans l'exemple:

In [263]: a = np.arange(1,81).reshape(8,10)
In [265]: b = pd.DataFrame(a)

In [268]: b.iloc[np.random.choice(np.arange(len(b)), 5, False)]
Out[268]: 
    0   1   2   3   4   5   6   7   8   9
5  51  52  53  54  55  56  57  58  59  60
7  71  72  73  74  75  76  77  78  79  80
3  31  32  33  34  35  36  37  38  39  40
1  11  12  13  14  15  16  17  18  19  20
4  41  42  43  44  45  46  47  48  49  50

Vous pouvez modifier 5 à 20 pour vos besoins. Vous n'avez pas à vous soucier du centile.


2 commentaires

C'est la même chose, je veux obtenir 20 éléments uniques et écrire sur une ligne: Par exemple, comme ceci à partir d'un échantillon d'importation aléatoire pour x dans la plage (1,20): i = échantillon (plage (1,81), k = 20) i.sort () print (x, '-', i)


Oui. Ma solution a de meilleures performances. Si cela a aidé, envisagez de le voter.