Ajouter une série à la colonne dans les pandas python

Abandonné parce que j'étais accro aux démons.

Lorsque l'indice de la série à ajouter est de 0

>>> s1 = pd.Series(data=[10,20,30])
>>> s1
0    10
1    20
2    30
dtype: int64

>>> s2 = pd.Series(data=[100,200,300])
>>> s2
0    100
1    200
2    300
dtype: int64

Deux séries sont ajoutées en tant que colonne de DataFrame.

>>> df = pd.DataFrame()
>>> df[1]=s1
>>> df[2]=s2
>>> df
    1    2
0  10  100
1  20  200
2  30  300

C'est facile.

Lorsque l'indice de la série à ajouter est différent

>>> s1 = pd.Series(data=[10,20,30], index=[1,2,3])
>>> s1
1    10
2    20
3    30
dtype: int64
>>> s2 = pd.Series(data=[100,200,300], index=[2,3,4])
>>> s2
2    100
3    200
4    300
dtype: int64

Les index de s1 et s2 ne sont pas de 0, et il y en a qui ne sont pas en commun.

À ce stade, si vous l'ajoutez au DataFrame comme auparavant

>>> df[1]=s1
>>> df[2]=s2
>>> df
      1      2
0   NaN    NaN
1  10.0    NaN
2  20.0  100.0

Avec un nombre fixe, il entrera à partir de 0 sans autorisation.

Si vous voulez voir l'original s1 [3] et essayer de voir le contenu de df de force, une erreur se produira.

>>> s1[3]
30
>>> df[1][3]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/series.py", line 603, in __getitem__
    result = self.index.get_value(self, key)
  File "/usr/local/lib/python2.7/dist-packages/pandas/indexes/base.py", line 2169, in get_value
    tz=getattr(series.dtype, 'tz', None))
  File "pandas/index.pyx", line 98, in pandas.index.IndexEngine.get_value (pandas/index.c:3557)
  File "pandas/index.pyx", line 106, in pandas.index.IndexEngine.get_value (pandas/index.c:3240)
  File "pandas/index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas/index.c:4279)
  File "pandas/src/hashtable_class_helper.pxi", line 404, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:8564)
  File "pandas/src/hashtable_class_helper.pxi", line 410, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:8508)
KeyError: 3

Dans ce cas, utilisez `` `pandas.concat```.

>>> df = pd.DataFrame()
>>> df = pd.concat([df, s1], axis=1)
>>> df
    0
1  10
2  20
3  30
>>> df = pd.concat([df, s2], axis=1)
>>> df
      0      0
1  10.0    NaN
2  20.0  100.0
3  30.0  200.0
4   NaN  300.0

Si axis = 1 est entré dans l'argument, il sera ajouté dans le sens de la colonne. En outre, numpy.nan``` est entré là où il n'y en a pas.

** Cependant, la colonne devient 0. ** ** Il semble qu'il ne puisse pas être spécifié par un argument, alors définissez d'abord Series sur un DataFrame unidimensionnel, puis concat.

>>> df = pd.DataFrame()
>>> df = pd.concat([df, pd.DataFrame(s1, columns=[1])], axis=1)
>>> df = pd.concat([df, pd.DataFrame(s2, columns=[2])], axis=1)
>>> df
      1      2
1  10.0    NaN
2  20.0  100.0
3  30.0  200.0
4   NaN  300

Recommended Posts

Ajouter une série à la colonne dans les pandas python
[Python] Comment utiliser la série Pandas
Ajouter des totaux aux lignes et aux colonnes avec des pandas
Application Python: Pandas Partie 2: Série
Pour vider stdout en Python
Connectez-vous au site Web en Python
J'ai essayé de résumer comment utiliser les pandas de python
Comment développer en Python
Permuter les colonnes dans les trames de données pandas
Publier sur Slack en Python
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
Compagnon de science des données en python, comment spécifier des éléments dans les pandas
[Python] Comment faire PCA avec Python
Convertir Markdown en PDF en Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Dans la commande python, python pointe vers python3.8
Essayez de calculer Trace en Python
[Introduction à Python] Utilisons les pandas
Comment utiliser Mysql avec python
Comment envelopper C en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
[Introduction à Python] Utilisons les pandas
[Introduction à Python] Utilisons les pandas
Comment gérer le japonais avec Python
Une alternative à `pause` en Python
[Python] Comment ajouter des lignes et des colonnes à une table (pandas DataFrame)
<Pandas> Comment gérer les données de séries chronologiques dans le tableau croisé dynamique
Comment utiliser les colonnes calculées dans CASTable
J'ai essayé d'implémenter PLSA en Python
Code de vérification de la série Fourier écrit en Python
[Python] Qu'est-ce que la série pandas et DataFrame?
[Python] Résumé de l'utilisation des pandas
[Introduction à Python] Comment utiliser la classe en Python?
Essayez de vous connecter à qiita avec Python
[Python] Utilisez des pandas pour extraire △△ qui maximise ○○
Installez Pyaudio pour lire des vagues en python
Chargez csv avec des colonnes en double dans pandas
J'ai essayé d'implémenter la permutation en Python
Méthode pour créer un environnement Python dans Xcode 6
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Épingler le répertoire actuel au répertoire de script en Python
[Itertools.permutations] Comment créer une séquence en Python
PUT gzip directement dans S3 en Python
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
Convertir un fichier psd en png en Python
Exemple de script pour piéger les signaux en Python
Decorator pour éviter UnicodeEncodeError dans Python 3 print ()
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Un moyen simple d'utiliser Wikipedia avec Python
Comment extraire une zone de polygone en Python
Comment vérifier la version d'opencv avec python
J'ai essayé d'implémenter ADALINE en Python
Lancer le Webhook entrant vers Mattermost en Python