web-dev-qa-db-fra.com

Quel est le paramètre name de la série Pandas?

Dans la doc de Series , les paramètres d'utilisation de name et fastpath ne sont pas expliqués. Que font-ils?

9
Sounak

L’argument name vous permet de donner un nom à un objet Series, c’est-à-dire à la colonne. Ainsi, lorsque vous placerez cela dans une DataFrame, la colonne sera nommée en fonction du paramètre name.

exemple:

In [1]: s = pd.Series(["A","B","C"], name="foo")

In [2]: s
Out[2]: 
0    A
1    B
2    C
Name: foo, dtype: object

In [3]: pd.DataFrame(s)
Out[4]: 
  foo
0   A
1   B
2   C

Si vous ne donnez pas une name à votre Series, elle sera nommée automatiquement. Ici ce sera un 0 dans l'objet dataframe:

   0
0  A
1  B
2  C

Pour la fastpath, il s'agit d'un paramètre interne et un problème a déjà été signalé:

https://github.com/pydata/pandas/issues/6903

18
jrjc

La name de pd.Series devient le column name lorsque vous les concatéminez. Inversement, lorsque vous extrayez une colonne de dataframe, elle a le column name comme nom du pd.Series extrait.

import pandas as pd
import numpy as np

s1 = pd.Series(np.random.randn(10), name='series1')
s2 = pd.Series(np.random.randn(10), name='series2')
pd.concat([s1, s2], axis=1)

Out[16]: 
   series1  series2
0   0.3499   0.3017
1  -2.2980  -1.1121
2  -1.4517  -0.5107
3  -0.4596  -0.0855
4  -0.3230   0.5391
5  -0.1764  -0.3218
6   2.4806  -0.6129
7   1.6766   1.1408
8  -1.2407   0.4857
9   0.3587  -1.5752
2
Jianxun Li

Il y a une autre utilisation du paramètre 'name'. Je vais donner un exemple. Dans cet exemple, nous verrons que le paramètre 'name' pourrait être utilisé comme nom d'index pour les valeurs.

purchase_1 = pd.Series({'Name': 'JJ',
                        'Item': 'A',
                        'Cost': 22.00})
purchase_2 = pd.Series({'Name': 'KK',
                        'Item': 'B',
                        'Cost': 22.50})

dfn = pd.DataFrame([purchase_1, purchase_2], index=['Store X', 'Store Y'])

dfn = dfn.append(pd.Series(data={'Cost': 30.00, 'Item': 'C','Name': 'TT'}, name='Store Y'))
dfn



Out[3]: 
         Cost Item Name
Store X  22.0    A   JJ
Store Y  22.5    B   KK
Store Y  30.0    C   TT
0
cyber-math

En ajoutant à toutes les informations, je viens d'apprendre que lorsque vous devez ajouter une ligne à l'aide de la série, deux options existent: 1) ignore_index = True, dans ce cas, il supprimera l'index défini et le réinitialisera en index numérique (par défaut). 2) l’utilisation du nom aide à conserver la structure actuelle de la structure de données et à utiliser le paramètre name comme index multiple (dans l’ordre).

0
Ajay Shah