Pandas
import pandas as pd
df = pd.read_csv('data.csv')
pandas.DataFrame.describe — pandas 1.0.4 documentation
df.describe()
TeamId Score
count 4.709900e+04 47099.000000
mean 4.409698e+06 0.749839
std 9.901986e+05 0.099161
min 2.792400e+04 0.000000
25% 4.501446e+06 0.760760
50% 4.774358e+06 0.770330
75% 4.915774e+06 0.779900
max 5.051599e+06 1.000000
#Réduisez les colonnes de sortie
df['Score'].describe()
count 47099.000000
mean 0.749839
std 0.099161
min 0.000000
25% 0.760760
50% 0.770330
75% 0.779900
max 1.000000
Name: Score, dtype: float64
Python Pandas: Boolean indexing on multiple columns - Stack Overflow
total_count = df['Score'].count() # 47099
partial_count = df[(0.6 < df['Score']) & (df['Score'] < 0.8)]['Score'].count() # 42893
pandas.Series.map — pandas 1.0.4 documentation
# Embarked(C, Q, S)Valeur numérique(1, 2, 3)Conversion en
df_train['Embarked'] = df_train['Embarked'].map({'C': 1, 'Q': 2, 'S': 3})
pandas.DataFrame.rename — pandas 1.0.4 documentation
# Sex(female, male)Valeur numérique(0, 1)Convertir et changer le nom de la colonne en Homme
df_train['Sex'] = df_train['Sex'].map({'female': 0, 'male': 1})
df_train = df_train.rename(columns={'Sex': 'Male'})
pandas.isnull — pandas 1.0.4 documentation pandas.DataFrame.sum — pandas 1.0.4 documentation
df_train.isnull().sum()
PassengerId 0
Survived 0
Pclass 0
Name 0
Male 0
Age 177
SibSp 0
Parch 0
Ticket 0
Fare 0
Cabin 687
Embarked 2
dtype: int64
#Exclure toutes les lignes contenant des valeurs manquantes
df_train_dn = df_train.dropna()
#Exclure les colonnes spécifiées par les colonnes
df_train_dn = df_train_dn.drop('Cabin', axis='columns
pandas.DataFrame.apply — pandas 1.0.4 documentation
#Extrait du titre
def getTitle(row):
name = row['Name']
p = re.compile('.*\ (.*)\.\ .*')
surname = p.search(name)
return surname.group(1)
df_train['Title'] = df_train.apply(getTitle, axis=1)
df_train['FamilyName'] = df_train.apply(getFamilyName, axis=1)
Indexing and selecting data — pandas 1.0.4 documentation Obtenir / modifier la valeur de n'importe quelle position avec les pandas à, iat, loc, iloc | note.nkmk.me
#Spécifiez le libellé de la colonne
df_train.loc[:, ['Title', 'FamilyName']].head()
# Title FamilyName
# 0 Mr Braund
# 1 Mrs Cumings
# 2 Miss Heikkinen
# 3 Mrs Futrelle
# 4 Mr Allen
Comment utiliser Pandas groupby --Qiita
#Trouvez l'âge moyen et le nombre de données pour chaque titre
s_age_mean_groupby_title = df_train.groupby('Title').mean().loc[:, 'Age']
s_age_count_groupby_title = df_train.groupby('Title').count().loc[:, 'Age']
df_age = pd.concat([s_age_mean_groupby_title, s_age_count_groupby_title], axis='columns')
df_age.columns.values[0] = 'AgeMean'
df_age.columns.values[1] = 'AgeCount'
df_age.sort_values(by='AgeCount', ascending=False)
# AgeMean AgeCount
# Mr 32.368090 398
# Miss 21.773973 146
# Mrs 35.728972 107
# Master 4.574167 36
# Rev 43.166667 6
pandas.DataFrame.sort_values — pandas 1.0.5 documentation
sort_values ()
n'est pas modifié et les valeurs renvoyées sont obtenues dans un état trié.
Si ʻinplace = True est spécifié, le DataFrame qui a exécuté
sort_values () sera trié et la valeur de retour sera
None`.pandas.unique — pandas 1.0.5 documentation
pandas.io.formats.style.Styler.apply — pandas 1.0.5 documentation python - Pandas style function to highlight specific columns - Stack Overflow
Matplotlib
matplotlib.pyplot.axis — Matplotlib 3.2.1 documentation
plt.axis(xlim=(-0.005, 1.005), ylim=(0, 9000))
matplotlib.axes.Axes.set_ylim — Matplotlib 3.2.2 documentation
Il est également possible de définir pour chaque axe avec set_xlim ()
et set_ylim ()
.
#Définissez la limite supérieure de l'axe y sur 100
plt.gca().set_ylim(top=100)
plt.gca().yaxis.set_label_position('right')
ylabel
in a matplotlib graph - Stack Overflow#Spécifiez la position de l'étiquette sur la droite et définissez les coordonnées(x, y) = (1.25, 0.5)Décalage
#(Par rapport aux coordonnées par défaut à droite(1.25, 0.5)Se comporte hors)
plt.gca().yaxis.set_label_position('right')
plt.gca().yaxis.set_label_coords(1.25, 0.5)
#Masquer l'étiquette de l'axe des x
plt.gca().set_xticklabels([])
#Masquer l'étiquette de l'axe y
plt.gca().set_yticklabels([])
matplotlib.pyplot.text — Matplotlib 3.1.2 documentation
#Libellé de l'axe Y lorsqu'il y a plusieurs graphiques(Response Time (s))Remplir
plt.gcf().text(
plt.gcf().axes[0].get_position().x1 - 0.45,
plt.gcf().axes[0].get_position().y1 - 0.5,
'Response Time (s)',
rotation=90
)
matplotlib.pyplot.tight_layout — Matplotlib 3.1.2 documentation [Python] Présentation de la façon d'éliminer les caractères superposés générés par Matplotlib! │ Mémorandum du débutant Python
plt.tight_layout()
matplotlib.pyplot.legend — Matplotlib 3.1.2 documentation
plt.legend(["legend1", "legend2"])
Spécifiez la police avec prop
.
Comment afficher facilement le japonais avec Matplotlib (Windows) | Gammasoft Co., Ltd.
plt.legend(["Valeur au carré"], prop={"family":"MS Gothic"})
Spécifiez la position avec bbox_to_anchor
.
python - How to put the legend out of the plot - Stack Overflow
plt.legend(["Valeur au carré"], prop={"family":"MS Gothic"}, bbox_to_anchor=(1.05, 1))
#Calculer la pente lorsqu'elle est approximée linéairement
a = np.polyfit(x, y, 1)[0]
plt.ticklabel_format(style='plain')
Dessinez les nombres sur l'étiquette de l'axe séparés par trois chiffres (matplotlib) --Qiita
plt.gca().xaxis.set_major_formatter(plt.FuncFormatter(lambda x, loc: '{:,}'.format(int(x))))
Legend guide — Matplotlib 3.2.2 documentation python - How is order of items in matplotlib legend determined? - Stack Overflow
handles = []
for label in labels:
handle = plt.scatter(..., label=label)
handles.append(handle)
#Définir une fonction comme critère de tri dans lambda
labels, handles = zip(*sorted(zip(labels, handles)), key=lamdba x: x[0])
matplotlib.pyplot.subplots_adjust — Matplotlib 3.2.2 documentation
plt.figure()
plt.subplot(121)
# ...
plt.subplot(122)
# ...
#Ajuster la largeur entre le sous-tracé
plt.subplots_adjust(wspace=1, right=3)
ggplot
est un outil graphique souvent utilisé dans R.
La caractéristique est qu'il peut être décrit de sorte que les graphiques de plusieurs couches se chevauchent. Qu'est-ce que R | ggplot2 | hanaori | note
plt.style.use('ggplot')
#Sexe du survivant de l'intrigue
df_train_survived = df_train_dn[df_train_dn.Survived == 1]
df_train_survived_age = df_train_survived.iloc[:, 3]
df_train_survived_male = df_train_survived.iloc[:, 2]
plt.scatter(
df_train_survived_age,
df_train_survived_male,
color="#cc6699",
alpha=0.5
)
#Tracez le sexe des morts
df_train_dead = df_train_dn[df_train_dn.Survived == 0]
df_train_dead_age = df_train_dead.iloc[:, 3]
df_train_dead_male = df_train_dead.iloc[:, 2]
plt.scatter(
df_train_dead_age,
df_train_dead_male,
color="#6699cc",
alpha=0.5
)
plt.show()
9.4. decimal — Decimal fixed point and floating point arithmetic — Python 2.7.18 documentation
Spécifiez le nombre de chiffres avec le premier argument de Decimal.quantize ()
.
decile = lambda num: Decimal(num).quantize(Decimal('.001'), rounding=ROUND_HALF_UP)
histogram = Counter(decile(score) for score in df['Score'])
print(histogram.keys())
# dict_keys([Decimal('0.761'), Decimal('0.000'), Decimal('0.775'), ...])
map ()
Getting index of item while processing a list using map in python - Stack Overflow
#Spécifiez le nombre de chiffres après la virgule décimale de l'exposant sous forme de 3 chiffres
# e.g. float_number = 7.918330583e-06
'{:.3e}'.format(float_number)
# 7.918e-06
Recommended Posts