[Python] pandas Code susceptible d'être réutilisé

importer

import pandas as pd

Confirmation des données

# Afficher les 5 premières lignes
print(df.head(5))
# Afficher les 5 dernières lignes
print(df.tail(5))

DataFrame

Trame de données vide

# Trame de données vide
df = pd.DataFrame(index=[], columns=[])
df = pd.DataFrame(index=[], columns=range(15))
 df = pd.DataFrame (0, index = plage (4), colonnes = plage (15)) Remplir avec # 0

# Créer un bloc de données vide à partir d'un bloc de données existant
df_blank = df.iloc[0:0]

Remplacement du nom des colonnes

# Remplacez les noms de colonnes par des numéros de série (car il est facile de traiter avec pour)
df.columns=list(range(len(df.columns)))
# Remplacez les noms de colonnes par des alphabets (car il est facile de faire correspondre avec Excel)
df.columns=([chr(ord('A') + i) for i in range(26)]+["AA"]+["AB"])

Renommer la ligne (Index)

# Réaffecter l'index à partir de 0
df=df.reset_index()
# Réaffecter l'index à partir de 1 (car il est facile de faire correspondre avec Excel)
df.index = df.index + 1
# Attribuer des numéros de série à des lignes autres que l'index
serial_num = pd.RangeIndex(start=0, stop=len(df.index) , step=1)
df['No'] = serial_num

Traitement des colonnes

Extraction de colonne

df['A']
df=df[["F","Z"]]
# Afficher uniquement les colonnes arbitraires
 df [['nom de la colonne']]
# Lignes 1, 2 et 4
df.iloc[[1,2,4]]
# 0-2ème colonne
df.iloc[[0,2]]

Ajouter une colonne

# Si vous ne spécifiez aucune colonne, la colonne sera ajoutée.
df['job'] = ["Engineer"]
 df ['new_column'] = 0 # Remplissez la valeur initiale avec 0 et ajoutez

Extraction de condition

df=df[df['A'] > 450]
df=df[df['A']=='P1'] 
# Spécifiez plusieurs conditions
 [Note] Une erreur se produira sauf si (&, |, ~) est utilisé à la place de (et, ou, pas).
 [Note] Lors de l'utilisation de l'opérateur de comparaison, une erreur se produira à moins que les conditions ne soient placées entre parenthèses.
df=df[(df['D']==0.0) | (df['D']==0.1)]

Affectation conditionnelle

x=0 → y  x<>0 →x 
dfsum["z"]=dfsum["y"].where(dfsum["x"] ==0, dfsum["x"])
# Substitution
 gf2 ["hit rate"] = gf2 ['hits'] / gf2 ['number of hits']

Renommer la colonne

# Convertir y en ventes
df.rename(columns={'y': 'sales'}, inplace=True)
df.columns = ['year_orig', 'pop', 'rate', '%']

Supprimer la colonne

 df.drop (5) # Supprimer la ligne 5
 df.drop ([5,6]) # Supprimer les lignes 5,6
df.drop(['remarks'], axis=1, inplace=True)
# Éliminer le contenu des colonnes en double
 df = set (colonne df2.A)

Attribution / mise à jour de la valeur de la colonne

df['A'].apply(lambda x: x * 2)   #=A1*2
 df ['A']. Apply (lambda x: 1 si x> 0 sinon 0) #IF (A1> 0,1,0)

tranche

# Si expand = True, il sera divisé en deux, mais sinon, il sera divisé au format liste.
print(df['a'].str[:2],expand=True)

Changement de type

# Initialement de type objet
df=df.astype(float)
df1["G"]=df1["G"].astype(int)
option La description
inplace=True Ce sera un changement destructeur, et les données d'origine changeront également

Traitement des lignes (index)

[Note] Puisqu'il commence à 0, il devient Excel line-1.

Extraction de lignes

# Extraire des lignes pour une section spécifique
df[1:3]
# Extraire seulement 100 lignes
df.loc[100]
# Extrait de la ligne 100 à la ligne 105
df[100:106]
# Extraire uniquement les 10 premières lignes
df[:10]

Ajouter une ligne

 Si vous ne spécifiez aucune ligne, la ligne sera ajoutée.
df.loc['ONE'] = 0
# Ajouter de la valeur pour chaque ligne
df.loc['FIVE'] = ['A5', 'B5', 'C5']

Supprimer la ligne

# Supprimer les lignes en double
df=df.drop(range(0,3))
df.drop(range(0,3),inplace=True )

Remplacement

df['col1'] = df['col1'].str.replace('x', 'z')

Joindre

# Connexion verticale
df=pd.concat([df, df1])
# Connexion horizontale
df=pd.concat([df, df1], axis=1)

[Note] Si l'index est différent, il ne sera pas combiné juste à côté, donc si vous voulez le placer juste à côté, réaffectez l'index.

fusionner

 dfsum = pd.merge (dfsum, gf2, on = 'clé', comment = "externe")

groupe

 gf = df3.groupby ('nom du joueur')
 gf1 = gf.agg ({'Base d'origine': max, 'Voler la base': 'max', 'Taux de coup': 'max'})
gf1=gf1.reset_index()

cellule

# Substitution
df.loc[99,0] ='▲'
df.loc[:, 2:8] = 0

[Note] SettingWithCopyWarning peut se produire si df.loc [99] [0] est écrit (indexation chaînée). La valeur ne change pas

Trier

df.sort_values(['sales', 'temperature'], ascending=False)
sorted(df)
option La description
ascending=True Ordre décroissant
ascending=False ordre croissant

conversion

# Liste → DataFrame
pd.DataFrame(data=list)

# Partie de données → liste
s = pd.Series([0, 1, 2])
print(s)
 0    0
 1    1
 2    2
 dtype: int64
list= s.values.tolist()

afficher

# Ne pas afficher les colonnes et les index
print(df.to_string(index=False, header=False))

Lecture / écriture de fichiers

Lire le fichier Excel

df = pd.read_excel('sample.xlsx',sheet_name='sheet1')
option La description
sheet_name="" Spécifiez le nom de la feuille
header=None Si spécifié, lire sans en-tête
S'il n'est pas spécifié, la première ligne est automatiquement insérée comme nom de colonne.
header=2 Lisez la ligne spécifiée comme un en-tête. Les lignes avant cela sont ignorées. La ligne 0 commence à partir de ce point

Exporter un fichier Excel

df.to_excel('sample.xlsx',sheet_name='sheet1', encoding='cp932',index=False, header=False)
option La description
sheet_name="" Spécifiez le nom de la feuille
index=False Supprimer le nom de la ligne et exporter
header=False Supprimer les noms de colonnes et exporter

Lire le fichier csv

df=pd.read_csv("sample.csv",encoding="cp932",header=None)
df=pd.read_csv("sample.csv",encoding="shift_jis")

df1=pd.read_csv(sample.csv,encoding='cp932',names=col_names,low_memory=False )

[Note] Si la chaîne de caractères de l'extension Windows est mélangée, il est nécessaire de définir le code de caractère comme cp932. [Note] Lors de la lecture d'un fichier lourd, entrez low_memory = False.

Exporter le fichier csv

df.to_csv('sample.csv',encoding='cp932')

Lire le fichier délimité par TAB

df=pd.read_csv("sample.DAT",encoding='cp932', sep='\t',names=col_names )

Lire le fichier texte

df=pd.read_table("sample.DAT",encoding='cp932',header=None)

Écriture de fichier texte

df.to_csv("employee.csv", sep=",")

Données manquantes

# Remplacez NaN dans la colonne A par «0,0»
df.fillna(value={'A': 0.0}, inplace=True)
# Supprimer la ligne avec NaN dans la colonne A
df.dropna(subset=[A], axis=0, inplace=True)
# Remplacer «-» dans la colonne A par 0
df['A'] = df['A'].replace('--', 0).astype(float)

# Remplissez NaN avec la valeur dans la cellule supérieure
df=df.fillna(method='ffill')

Visualisation

import matplotlib.pyplot as plt

Cela fait du bien de changer le style de l'intrigue en procédant comme suit

plt.style.use('ggplot') 
notation Détails de fonctionnement
plt.title('Titre du graphique') Définir le titre
plt.xlabel('Étiquette de l'axe X') Définissez le nom de l'axe des x
plt.ylabel('Étiquette de l'axe Y') Définir le nom de l'axe y
plt.xlim(Valeur minimale de X,Valeur maximale de X) Spécifiez la plage de l'axe x
plt.ylim(Valeur minimale de Y,Valeur maximale de Y) Spécifiez la plage de l'axe y
plt.legend() Afficher la légende
plt.grid() Afficher les lignes de la grille

Recommended Posts

[Python] pandas Code susceptible d'être réutilisé
[Python] tkinter Code susceptible d'être réutilisé
[Python] Utilisez des pandas pour extraire △△ qui maximise ○○
Réécrire le code Python2 en Python3 (2to3)
J'ai senti que j'avais porté le code Python en C ++ 98.
Etrange message d'erreur Python —— Ce code est-il vraiment exécuté?
[Python] Convertir la liste en Pandas [Pandas]
Convertir le code python 3.x en python 2.x
Comment tester cette exception est déclenchée dans python unittest
traitement python3 qui semble utilisable dans paiza
Je veux pouvoir exécuter Python avec VS Code
python> Est-il possible de faire des commentaires en ligne?> Il semble que ce soit sur plusieurs lignes
[Python3] Code qui peut être utilisé lorsque vous souhaitez redimensionner des images dossier par dossier
Ce code Python n'a pas de classes ...
Comment déterminer qu'une clé croisée a été entrée dans Python3
Installer les packages qui doivent être compilés avec Python 3 avec pip [Windows]
[Introduction à Python] Utilisons les pandas
Si le code Python écrit par d'autres est difficile à déchiffrer (Python)
[Introduction à Python] Utilisons les pandas
[Introduction à Python] Utilisons les pandas
Avec PEP8 et PEP257, un codage Python qui n'est pas gênant à montrer aux gens!
CNN détermine dans quelle université une belle femme est susceptible d'être
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Correction d'un bug où node.surface ne pouvait pas être obtenu avec python3 + mecab
Code Python qui complète les séquences d'ADN Quelle méthode est la plus rapide?
[Python] Qu'est-ce que la série pandas et DataFrame?
[Python] Résumé de l'utilisation des pandas
[Pandas] Qu'est-ce que set_option [Comment utiliser]
[Python] [pandas] Comment pd.DataFrame (). T est-il implémenté?
Python 3.9 dict merge (`|`) semble être utile
[Python] pandas à bien comprendre en 10 minutes
10 erreurs Python communes aux débutants
[Python] Ajouter le nombre total de lignes à Pandas DataFrame
Ajouter une série à la colonne dans les pandas python
Comment utiliser is et == en Python
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
Atcoder Beginner Contest A, B Résumé d'entrée qui a tendance à être un problème Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
J'ai essayé de résumer les opérations susceptibles d'être utilisées avec numpy-stl
Comment installer la bibliothèque Python qui peut être utilisée par les sociétés pharmaceutiques
[Introduction à Udemy Python3 + Application] 37. Technique pour juger qu'il n'y a pas de valeur
Qu'est-ce qu'un algorithme? Introduction à l'algorithme de recherche] ~ Python ~
Python a fini par être reconnu jusqu'à présent.
Python Pandas ne convient pas au traitement par lots
Script Python pour convertir la latitude et la longitude en code de maillage
[Python] La route du serpent (6) Manipuler les pandas
Notation d'inclusion de liste Python facile à oublier
[Python] Comment lire des fichiers Excel avec des pandas
Notes personnelles sur le code doc Python dans Sphinx
[python] Créer une table de pandas DataFrame vers postgres
[Road to Intermediate] Python semble être tous des objets
Code Python qui supprime les espaces contigus en un
[Python] Il semble y avoir quelque chose appelé __dict__
Puisque sudo est ça, essayez de passer à doas
Liste de code Python à déplacer et à mémoriser
Je veux créer du code C ++ à partir de code Python!
[Introduction à l'application Udemy Python3 +] 54. Qu'est-ce que Docstrings?
Convertir le code de maillage cubique en WKT en Python