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 **
La mise à jour peut ne pas être possible pendant un certain temps. Quand il disparaît, Sumanne
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 solution est fausse! Cette interprétation est différente! Veuillez commenter si vous en avez.
Cette fois de 57 à 62. [Dernière fois] 52-56 [Première fois avec la table des matières]
P-057: Combinez le résultat de l'extraction de la question précédente et le sexe (sexe), et créez de nouvelles données de catégorie qui représentent la combinaison du sexe et de l'âge. La valeur de la catégorie représentant la combinaison est arbitraire. Les 10 premiers éléments doivent être affichés.
Afficher uniquement votre programme et la première ligne
df=df_customer.copy() df_bins=pd.cut(df.age,[10,20,30,40,50,60,150],right=False,labels=[10,20,30,40,50,60]) df=pd.concat([df[['customer_id','birth_day']],df_bins],axis=1) df.head(10)
>|customer_id |birth_day |age|
|--:|--:|--:|
|CS021313000114 |1981-04-29 |30|
#### **`mine57.py`**
```py
df=pd.concat([df_customer[['customer_id','birth_day','gender_cd']],df_bins],axis=1)
df['age_gen']=df.gender_cd.astype('str')+df.age.astype('str')
df.head(10)
'''Le modèle de réponse'''
df_customer_era['era_gender'] = df_customer['gender_cd'] + df_customer_era['age'].astype('str')
df_customer_era.head(10)
Depuis que j'ai fait pd.concat
, j'ai senti que je n'avais pas à le détourner de la dernière fois.
encore,
Ajoutez un chiffre de sexe à 30 dans cette colonne «âge»
1 (femme) + 30 (âge) = 130
Est le but de cette fois
Je n'ai pas compris ce que j'ai écrit
miss57.py
df=pd.concat([df_customer[['customer_id','birth_day','gender_cd']],df_bins],axis=1)
df=df.groupby(['age','gender_cd']).agg({'customer_id':'count'})
pd.pivot_table(df,index='age',columns='gender_cd')
~~ J'ai accidentellement croisé le tableau ~~
P-058: Faites du code de genre (gender_cd) de la trame de données client (df_customer) une variable fictive et extrayez-le avec l'ID client (customer_id). Vous pouvez afficher 10 résultats.
mine58.py
df=df_customer.copy()
pd.concat([df['customer_id'],pd.get_dummies(df['gender_cd'])],axis=1).head(10)
'''Le modèle de réponse'''
pd.get_dummies(df_customer[['customer_id', 'gender_cd']], columns=['gender_cd']).head(10)
Qu'est-ce qu'une variable fictive? J'ai pensé, j'ai vérifié Il semble que l'élément correspondant soit créé dans la première colonne et la présence ou l'absence de l'élément est indiquée par «vrai» ou «faux» dans le tableau.
Ou plutôt, c'est plus rapide de regarder le tableau
Masculin | Femme | inconnue |
---|---|---|
0 | 1 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
0 | 1 | 0 |
0 | 1 | 0 |
des choses comme ça
P-059: Le montant des ventes (montant) du bloc de données de détail des reçus (df_receipt) est totalisé pour chaque ID client (customer_id), et le montant total des ventes est ** normalisé ** à une moyenne de 0 et un écart type de 1, et l'ID client. , Afficher avec le montant total des ventes. L'écart type utilisé pour la normalisation peut être soit un écart-type non biaisé, soit un écart-type d'échantillon. Cependant, si l'ID client commence par "Z", il représente un non-membre, donc excluez-le du calcul. Vous pouvez afficher 10 résultats.
…
……
………
J'ai lu divers sites et essayé de le comprendre, mais je n'ai pas pu me rattraper parce que je sautais les mathématiques à ce moment-là.
Dois-je demander à mes aînés de me dire le site Web de référence? Ecrire aussi
df['hyou1'] =df['amount_sum'] - df.amount_sum.mean()
Je me trompe.
J'essayais de rechercher la réponse preprocessing.scale
à l'envers pour essayer de la comprendre d'une manière ou d'une autre
https://note.nkmk.me/python-list-ndarray-dataframe-normalize-standardize/ Seconde moitié
Normalisation / standardisation des pandas.DataFrame et pandas.Series Utilisez la méthode pandas ~ Omis ~
Au programme print( (df.T - df.T.mean()) / df.T.std() ) # col1 col2 col3 # a -1.0 0.0 1.0 # b -1.0 0.0 1.0 # c -1.0 0.0 1.0
Ça y est
En d'autres termes
(Données /.mean ()) /.std ()
Si c'est le cas
mine59.py
df=df_receipt.copy()
df=df.query('not customer_id.str.startswith("Z")',engine='python')
df=df.groupby('customer_id').agg({'amount':'sum'}).reset_index()
df['hyou1'] =(df['amount'] - df.amount.mean()) / df.amount.std()
df.head(10)
'''Le modèle de réponse'''
#prétraitement sklearn.Calculé avec l'écart type de l'échantillon pour utiliser l'échelle
df_sales_amount = df_receipt.query('not customer_id.str.startswith("Z")', engine='python'). \
groupby('customer_id').agg({'amount':'sum'}).reset_index()
df_sales_amount['amount_ss'] = preprocessing.scale(df_sales_amount['amount'])
df_sales_amount.head(10)
Cela correspondait.
P-060: Le montant des ventes (montant) du bloc de données de détail de la réception (df_receipt) est totalisé pour chaque ID client (customer_id), et le montant total des ventes est normalisé à la valeur minimale 0 et la valeur maximale 1 à l'ID client et au montant des ventes. Afficher avec le total. Cependant, si l'ID client commence par "Z", il représente un non-membre, donc excluez-le du calcul. Vous pouvez afficher 10 résultats.
Sur même site
print((df - df.min()) / (df.max() - df.min())) # col1 col2 col3 # a 0.0 0.0 0.0 # b 0.5 0.5 0.5 # c 1.0 1.0 1.0
Parce qu'il y a, c'est détourné
mine60.py
df=df_receipt.copy()
df=df.query('not customer_id.str.startswith("Z")',engine='python')
df=df.groupby('customer_id').agg({'amount':'sum'}).reset_index()
df['minmax'] =(df['amount'] - df.amount.min()) / (df.amount.max()-df.amount.min())
df.head(10)
'''Le modèle de réponse'''
#prétraitement sklearn.Calculé avec l'écart type de l'échantillon pour utiliser l'échelle
df_sales_amount = df_receipt.query('not customer_id.str.startswith("Z")', engine='python'). \
groupby('customer_id').agg({'amount':'sum'}).reset_index()
df_sales_amount['amount_mm'] = preprocessing.minmax_scale(df_sales_amount['amount'])
df_sales_amount.head(10)
P-061: Le montant des ventes (montant) du bloc de données de détail de la réception (df_receipt) est totalisé pour chaque ID client (customer_id), et le montant total des ventes est converti en une valeur logarithmique normale (base = 10) pour totaliser l'ID client et le montant des ventes. Afficher avec. Cependant, si l'ID client commence par "Z", il représente un non-membre, excluez-le du calcul. Vous pouvez afficher 10 résultats.
P-062: Le montant des ventes (montant) du bloc de données de détail du reçu (df_receipt) est totalisé pour chaque ID client (customer_id), et le montant total des ventes est converti en une valeur logarithmique naturelle (base = e) pour totaliser l'ID client et le montant des ventes. Afficher avec. Cependant, si l'ID client commence par "Z", il représente un non-membre, donc excluez-le du calcul. Vous pouvez afficher 10 résultats.
Pour la logarithmisation, utilisez la fonction exponentielle
mine61_62.py
df=df_receipt.copy()
df=df.query('not customer_id.str.startswith("Z")',engine='python')
df=df.groupby('customer_id').agg({'amount':'sum'}).reset_index()
#60, rapport de log régulier
df['jouyou']=df.amount.apply(lambda x: math.log10(x))
#61, rapport logarithmique naturel
df['shizen']=df.amount.apply(lambda x: math.log(x))
df.head(10)
Peut être mis avec
mohan61_62.py
#prétraitement sklearn.Calculé avec l'écart type de l'échantillon pour utiliser l'échelle
df_sales_amount = df_receipt.query('not customer_id.str.startswith("Z")', engine='python'). \
groupby('customer_id').agg({'amount':'sum'}).reset_index()
df_sales_amount['amount_log10'] = np.log10(df_sales_amount['amount'] + 1)
df_sales_amount.head(10)
#prétraitement sklearn.Calculé avec l'écart type de l'échantillon pour utiliser l'échelle
df_sales_amount = df_receipt.query('not customer_id.str.startswith("Z")', engine='python'). \
groupby('customer_id').agg({'amount':'sum'}).reset_index()
df_sales_amount['amount_loge'] = np.log(df_sales_amount['amount'] + 1)
df_sales_amount.head(10)
………
Qu'est-ce que «+ 1»?
Le journal est une partie que j'ai commencé à confondre en mathématiques au lycée, donc je suis vraiment désolé. Si vous connaissez ce "+ 1", veuillez commenter. Vraiment Niwa Karanai
Recommended Posts