«Je vais résumer comment utiliser Pandas, que j'utilise habituellement, pour chaque objectif comme mon mémorandum.
# Extraire les colonnes du dataframe et passer à la série
aaa = df['sts']
# La première ligne est sortie comme "première fois"
for index, item in enumerate(aaa):
if index < 1:
print ("première fois")
else:
print ("seconde fois et suivantes")
# Définir les colonnes à récupérer sous forme de tableau
use_idx = ['aaa','bbb','ccc']
# Extraire les colonnes définies et créer un nouveau dataframe
df2 = df[ use_idx ]
# Convertir la date en type datetime
data['date'] = pd.to_datetime(date['date'])
# Extraire le jour de la date (SUN = 6, MON = 0)
date['day_of_week'] = date['date'].dt.dayofweek
data = [1,8,14,56]
# Nommez la colonne avec le nom facultatif
s = pd.Series(data, name=['day', 'hour', 'c1', 'c2'])
name = df.columns.values
df = df.drop('AAAA', axis = 1)
# Combiner la chaîne avec le nom de colonne existant
newcol = []
for i in df.columns:
print(i + "_2day")
newcol.append(i + "_2day")
# Respécifier le nom de la colonne
df.columns = newcol
# Tri
dfl = df.sort_values(by="A")
# Plusieurs sortes
dfl = df.sort_values(by=["A","B","C","D"])
# Rejoindre par colonne
df_union = pd.concat( [df, df2], axis=1 )
# Rejoindre en ligne
df_union = pd.concat( [df, df2], axis=0 )
* Ajoutez l'option "sort = False" comme contre-mesure contre la modification de l'ordre des colonnes.
# Jointure intérieure sous condition de clé
df = pd.merge(left, right, on='key')
# Jointure externe gauche sous condition de clé
df = pd.merge(left, right, on='key', how = 'left')
"""
La méthode de combinaison est spécifiée par le mot clé how.
interne: par défaut. Jointure interne. Ne laissez que les clés contenues dans les deux données.
gauche: jointure externe gauche. Laissez toutes les clés pour les premières données.
droite: jointure externe droite. Laissez toutes les clés pour les secondes données.
externe: jointure externe complète. Laissez toutes les clés.
"""
# Définir l'index sur la colonne xxxx
df.set_index('xxxx')
# Réinitialiser l'index
# Le numéro séquentiel est défini sur index et l'index d'origine est ajouté à la colonne de données
df.reset_index('xxxx')
# Réinitialiser l'index
# L'ancien index est supprimé et le nouvel index est défini
df.reset_index(drop=True)
"""
df2 = df.reset_index(drop=True)
Notez que reset_index ne sera pas reflété sauf si vous faites ce qui précède ()
"""
#dataframe df et série df_Combiner ser
#série est de_frame()Convertir en dataframe en utilisant
df2 = pd.concat( [ df, df_ser.to_frame() ], axis=1 )
to_pydatetime()
hoge = pd.DataFrame(hoge)
#ordre croissant
hoge = hoge.sort_index()
#Ordre décroissant
hoge = hoge.sort_index(ascending=False)
#Un paramètre
sql "select * from aaa where opstime >= %s;"
df = pd.read_sql(sql, con=conn, params=("2020-02-13"))
#Deux paramètres
sql "select * from aaa where opstime >= %s and opstime <= %s;"
df = pd.read_sql(sql, con=conn, params=("2020-02-13","2020-02-15"))
#Créer un bloc de données avec 3 lignes et 3 colonnes et une valeur NULL
df = pd.DataFrame(index=range(3), columns=['a', 'b' , 'c'])
Recommended Posts