Qual é o parâmetro nome na série Pandas?
4 answers
O argumento name
permite - lhe dar um nome a um objecto Series
, ou seja, à coluna. Assim, quando você colocar isso em um DataFrame
, a coluna será nomeada de acordo com o parâmetro name
.
Exemplo:
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
Se não der um name
ao seu Series
será nomeado automaticamente. Aqui será um 0
no objeto dataframe
:
0
0 A
1 B
2 C
Para o fastpath
, é um parâmetro interno e um problema já foi relatado :
O name
de pd.Series
torna-se o column name
quando os juntares. Vice-versa, quando você extrai uma coluna de dataframe
, ela tem o column name
como o nome do extraído pd.Series
.
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
Adicionando a toda a informação, acabei de saber que quando você tem que adicionar uma linha usando a série, duas opções estão lá: 1) ignore_index = True, neste caso, ele irá remover o índice set e reiniciá-lo para índice numérico (padrão) 2) Usar o nome ajuda a manter a estrutura atual do dataframe e usar o parâmetro nome como o multi index (em ordem).
Existe outra utilização do parâmetro' nome'. Vou dar um exemplo. Neste exemplo veremos que o parâmetro 'nome' pode ser usado como um nome de índice para valores.
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