Au fur et à mesure que j'ai commencé kaggle et que j'ai été de plus en plus exposé à la science des données, j'ai inévitablement utilisé des pandas pour traiter les données parce que j'utilise python. Cette fois, j'ai résumé les codes que j'utilise souvent personnellement. C'est presque un mémo pour moi, mais j'ai pensé que cela pourrait être utile pour quelqu'un, alors j'ai décidé de le publier tous ensemble sur qiita. Si vous avez des conseils ou des impressions, comme d'autres meilleures notations, veuillez nous le faire savoir dans les commentaires. De plus, s'il existe un code à usage général, je voudrais le mettre à jour de temps en temps.
DataFrame Comment créer des données. Il n'y a rien de particulièrement bon à ce sujet, mais les mêmes données sont créées de deux manières. Veuillez utiliser celui qui vous convient le mieux en fonction de la situation. La sortie est la même. method 1
index = ['a','b','c']
columns = ['A','B','C']
inputs = [[1,2,1],[3,4,3],[5,6,5]]
df = pd.DataFrame(columns = columns,index = index)
for i,columns in enumerate(columns):
df[columns] = inputs[i]
df
A | B | C | |
---|---|---|---|
a | 1 | 3 | 5 |
b | 2 | 4 | 6 |
c | 1 | 3 | 5 |
method 2
index = ['a','b','c']
df = pd.DataFrame({
'A':[1,2,1],
'B':[3,4,3],
'C':[5,6,5]},
index=index)
df
A | B | C | |
---|---|---|---|
a | 1 | 3 | 5 |
b | 2 | 4 | 6 |
c | 1 | 3 | 5 |
Cette fois, nous mettons un alphabet approprié (a, b, c) comme index, mais si vous ne spécifiez pas d'index, il attribuera un numéro à partir de 0.
Feature Encoding Un résumé concernant la conversion des fonctionnalités. One-Hot Encoding Je pense qu'il existe de nombreuses situations dans lesquelles vous souhaitez convertir en un vecteur chaud lorsque vous manipulez les données. Vous pouvez utiliser le codage à chaud de sklearn, mais si vous gérez vos données avec des pandas, get_dummes est plus efficace.
pd.get_dummies(df['A'])
1 | 2 | |
---|---|---|
a | 1 | 0 |
b | 0 | 1 |
c | 1 | 0 |
Frequency Encoding C'est un code complètement personnel. J'ai pensé que je pourrais l'utiliser à nouveau, alors prenez-en note. Le processus consiste à convertir la valeur en une étiquette pour le nombre d'occurrences et à la renvoyer.
df.groupby('B')[['B']].transform('count')
B | |
---|---|
a | 2 |
b | 1 |
c | 2 |
Cela signifie que 3 apparaît deux fois et 4 apparaît une fois dans les colonnes B.
Je n'ai pas encore tout rassemblé, mais pour l'instant. J'ajouterai encore du code.
Recommended Posts