Maison  >  Article  >  développement back-end  >  pandas+dataframe implémente les opérations de sélection et de découpage de lignes et de colonnes

pandas+dataframe implémente les opérations de sélection et de découpage de lignes et de colonnes

php中世界最好的语言
php中世界最好的语言original
2018-04-12 09:57:354526parcourir

Cette fois, je vais vous présenter pandas+dataframe pour implémenter les opérations de sélection et de découpage de lignes et de colonnes. Quelles sont les précautions pour que pandas+dataframe implémente les opérations de sélection et de découpage de lignes et de colonnes. cas pratique, jetons un coup d'oeil.

La sélection en SQL est basée sur le nom de la colonne ; Pandas est plus flexible. Elle peut non seulement être sélectionnée en fonction du nom de la colonne, mais également en fonction de la position (numéro). , dans quelle position Ligne et colonne, veuillez noter que la position des lignes et colonnes des pandas commence à 0). Les fonctions associées sont les suivantes :

1) loc, en fonction de l'étiquette de la colonne, des lignes spécifiques peuvent être sélectionnées (en fonction de l'index de la ligne) ;

2) iloc, en fonction de la position de la ligne/colonne ;

3) at, localisez rapidement les éléments du DataFrame en fonction de l'index de ligne et de l'étiquette de colonne spécifiés

4) iat, similaire à at, sauf qu'il ; est positionné en fonction de la position ;

5) ix, un mélange de loc et iloc, prend en charge à la fois l'étiquette et la position

Instance

import pandas as pd
import numpy as np
df = pd.DataFrame({'total_bill': [16.99, 10.34, 23.68, 23.68, 24.59],
          'tip': [1.01, 1.66, 3.50, 3.31, 3.61],
          'sex': ['Female', 'Male', 'Male', 'Male', 'Female']})
# data type of columns
print df.dtypes
# indexes
print df.index
# return pandas.Index
print df.columns
# each row, return array[array]
print df.values
print df
sex      object
tip      float64
total_bill  float64
dtype: object
RangeIndex(start=0, stop=5, step=1)
Index([u'sex', u'tip', u'total_bill'], dtype='object')
[['Female' 1.01 16.99]
 ['Male' 1.66 10.34]
 ['Male' 3.5 23.68]
 ['Male' 3.31 23.68]
 ['Female' 3.61 24.59]]
   sex  tip total_bill
0 Female 1.01    16.99
1  Male 1.66    10.34
2  Male 3.50    23.68
3  Male 3.31    23.68
4 Female 3.61    24.59
print df.loc[1:3, ['total_bill', 'tip']]
print df.loc[1:3, 'tip': 'total_bill']
print df.iloc[1:3, [1, 2]]
print df.iloc[1:3, 1: 3]
  total_bill  tip
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
  tip total_bill
1 1.66    10.34
2 3.50    23.68
3 3.31    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68

Représentation incorrecte :

print df.loc[1:3, [2, 3]]#.loc仅支持列名操作
KeyError: 'None of [[2, 3]] are in the [columns]'
print df.loc[[2, 3]]#.loc可以不加列名,则是行选择
  sex  tip total_bill
2 Male 3.50    23.68
3 Male 3.31    23.68
print df.iloc[1:3]#.iloc可以不加第几列,则是行选择
sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
print df.iloc[1:3, 'tip': 'total_bill']
TypeError: cannot do slice indexing on <class &#39;pandas.indexes.base.Index&#39;> with these indexers [tip] of <type &#39;str&#39;>
print df.at[3, 'tip']
print df.iat[3, 1]
print df.ix[1:3, [1, 2]]
print df.ix[1:3, ['total_bill', 'tip']]
3.31
3.31
  tip total_bill
1 1.66    10.34
2 3.50    23.68
3 3.31    23.68
  total_bill  tip
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
print df.ix[[1, 2]]#行选择
  sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
print df[1: 3]
print df[['total_bill', 'tip']]
# print df[1:2, ['total_bill', 'tip']] # TypeError: unhashable type
sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
  total_bill  tip
0    16.99 1.01
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
4    24.59 3.61
print df[1:3,1:2]
TypeError: unhashable type

Je te crois Je l'ai maîtrisé après avoir lu le cas dans cet article. Pour des méthodes plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Quelles sont les méthodes de requête Dataframe dans les pandas

Selenium+cookie ignore la mise en œuvre de la connexion au code de vérification Explication détaillée des étapes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn