wake-up-neo.net

Was ist der Namensparameter in der Pandas-Serie?

In der Dokumentation von Series wird der Anwendungsparameter von name und fastpath nicht erläutert. Was machen Sie?

9
Sounak

Mit dem Argument name können Sie einem Series-Objekt, d. H. Der Spalte, einen Namen geben. Wenn Sie dies in eine DataFrame einfügen, wird die Spalte entsprechend dem Parameter name benannt.

beispiel:

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

Wenn Sie Ihrer name keine Series geben, wird diese automatisch benannt. Hier wird es ein 0 im Objekt dataframe sein:

   0
0  A
1  B
2  C

Bei der fastpath handelt es sich um einen internen Parameter, und es wurde bereits ein Problem gemeldet:

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

18
jrjc

Die name von pd.Series wird zum column name, wenn Sie sie zusammenfügen. Wenn Sie umgekehrt eine Spalte aus dataframe extrahieren, hat sie den column name als Namen des extrahierten 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
2
Jianxun Li

Es gibt eine andere Verwendung des Parameters 'name'. Ich werde ein Beispiel geben. In diesem Beispiel sehen wir, dass der Parameter 'name' als Indexname für Werte verwendet werden kann.

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

Unter Berücksichtigung aller Informationen habe ich gerade erfahren, dass beim Anhängen einer Zeile mit Series zwei Optionen zur Verfügung stehen: 1) ignore_index = True. In diesem Fall wird der eingestellte Index entfernt und auf den numerischen Index zurückgesetzt (Standard). 2) Die Verwendung des Namens hilft dabei, die aktuelle Datenrahmenstruktur beizubehalten und den Parameter name (in der angegebenen Reihenfolge) als Multi-Index zu verwenden.

0
Ajay Shah