C'est un record de lutte pour frapper 100 œufs sans connaître l'œuf du scientifique des données. C'est un mystère que je puisse terminer la course. ~~ Même s'il disparaît en cours de route, pensez qu'il n'est pas donné à Qiita. ~~
100 articles frappants 100 Knock Guide
** Faites attention si vous essayez de le faire car cela inclut des spoilers **
J'écris ici gudaguda car je gagne environ une page pour éviter de gâcher ()
Cette fois, j'ai répété le déraillement et je ne pouvais pas comprendre sur quoi je voulais enquêter (la cause est le 30)
C'est difficile à voir! Cette façon d'écrire est dangereuse! Si vous avez des questions, n'hésitez pas à me le faire savoir. ~~ Je vais l'utiliser comme nourriture tout en souffrant de dommages à mon cœur.
Cette fois de 29 à 32. [Dernière fois] 23-28 [Première fois avec la table des matières]
** Il y avait beaucoup de choses que je ne comprenais pas cette fois **
P-029: Pour la trame de données des détails du reçu (df_receipt), recherchez la valeur la plus fréquente du code produit (product_cd) pour chaque code magasin (store_cd).
Je savais que la valeur la plus fréquente était le mode, mais dans la continuité de la dernière fois
groupby(store_cd).agg({'product_cd':['mode']})
Ce sera de la mousse si vous écrivez. Ou plutôt, ça ne semble pas être en agg?
Même si j'aide et vérifie site habituel, cela ne fonctionne pas très bien. Pourquoi? Article
Bien qu'il soit également écrit sur le site suivant, si vous voulez trouver la valeur la plus fréquente en mode après group by, vous devez combiner value_counts et postuler. Bien qu'il soit en anglais, l'exemple de code est simple et facile à comprendre, veuillez donc vous y référer. https://github.com/pandas-dev/pandas/issues/11562
df.groupby ('grouping_content'). Cible que vous voulez trouver le plus fréquemment. Apply (lambda x: x.mode ())
** ~~ Lambda …… ~~ **
mine29.py
df=df_receipt
df=df.groupby('store_cd').product_cd.apply(lambda x: x.mode()).reset_index()
df.head(5)
** Ouais, je ne sais pas **
P-030: Pour la trame de données des détails du reçu (df_receipt), calculez la distribution de l'échantillon du montant des ventes (montant) pour chaque code magasin (store_cd) et affichez le TOP5 dans l'ordre décroissant.
~~ S'il vous plaît devinez au moment de lancer des phrases de problème en continu ~~
Tout d'abord, je ne suis pas bon en mathématiques à 2, et après plus de 10 ans, je meurs s'il y a des lettres et de gros symboles écrits en haut, en bas, à gauche et à droite du sigma ~~ Même lorsque je demande des écarts types dans Excel, je copie et colle
Le mot "distribution d'échantillons" qui est sorti dans une telle situation
** Distribué **
Si quelque chose est écrit, ce sera un œil blanc. Tu ne peux pas?
La formule de distribution standard ressemble à ceci
~~ Mourir ~~ Écrivez comme un programme pour le moment en vous cosplayant les yeux et en organisant votre tête
ikinokoru.py
def Sno2jo(X_list):
n = len(X_list)
X_ave = sum(X_list) / n
ret = 0.0
for X in range(X_list):
ret += (X - X_ave)**2
ret = ret / n
return ret
Est-ce que c'est comme ça ...? (La baie commence à 0) (l'opération n'a pas été confirmée)
** Le programme peut aller **
Après cela, divers site et [vidéo] En regardant (https://www.youtube.com/watch?v=lD35jzfrxaU), je l'ai en quelque sorte compris, mais comme il a beaucoup dévié, je l'ai arrondi et je suis retourné frapper.
Je pense qu'il serait plus facile d'utiliser des fonctions statistiques cette fois (je fais du Python pour ça) et de le résoudre.
** Référence **
mine30.py
df=df_receipt
df= df.groupby('store_cd').amount.var(ddof=0).reset_index().sort_values('amount',ascending=False).head(5)
df
'''Le modèle de réponse'''
df_receipt.groupby('store_cd').amount.var(ddof=0).reset_index().sort_values('amount', ascending=False).head(5)
'''Exemple d'échec'''
df=pd.concat([df['store_cd'],df.groupby('store_cd').amount.var(ddof=0)],axis=0)
Dans l'exemple de l'échec Je me suis demandé si je ne pouvais pas bien combiner car le résultat était comme ça. J'ai pensé que ce serait bien tout seul, et j'ai pu répondre par moi-même.
Non, ça a pris du temps
mine31.py
df=df_receipt
df= df.groupby('store_cd').amount.std(ddof=0).reset_index().sort_values('amount',ascending=False).head()
df
Brisez 30 comme c'est avec copie
Quand c'était ddof = False
, on m'a dit de le passer par Int et de le mettre à 0
.
ddof
est une estimation de correspondance ou une estimation impartiale tirée de ici et de vidéo Est-ce une différence de quantité?
Je n'ai pas compris la signification de la valeur du centile (même si je l'ai comprise d'une manière ou d'une autre), alors je l'ai recherchée, puis j'ai recherché le site de référence (mise en conserve qui coule)
** Référence **
mine32.py
df=df_receipt
df['amount'].quantile([0.0,0.25,0.5,0.75,1.0])
'''Réponse modèle 1'''
np.percentile(df_receipt['amount'], q=[25, 50, 75,100])
'''Réponse modèle 2'''
df_receipt.amount.quantile(q=np.arange(5)/4)
La direction est proche de la réponse du modèle 2, mais j'ai pensé que ce serait une bonne idée d'utiliser np.arange.
Pour ceux qui veulent jouer avec ce CSV ~~ Enregistrer dans \ 100 knocks-preprocess \ docker \ work Il existe différents CSV ici
Recommended Posts