Pandas en el índice de trama de datos

Este es un resumen del uso más básico pandas, sino también para facilitar su examen y realizar consultas en el futuro.
Artículo anterior resume los problemas de indexación de la serie. Hoy en día este índice para resumir trama de datos problema.

1. ¿Qué es el índice

1.1 Índice de comprensión

Crear una trama de datos sencilla.

myList = [['a', 10, 1.1],
	  ['b', 20, 2.2],
	  ['c', 30, 3.3],
	  ['d', 40, 4.4]]  
df1 = pd.DataFrame(data = myList)
print(df1)
--------------------------------
[out]:
   0   1    2
0  a  10  1.1
1  b  20  2.2
2  c  30  3.3
3  d  40  4.4

Hay dos en trama de datos de índice:

  • índice Line (índice): corresponde a la columna más a la izquierda longitudinal
  • índice de la columna (columnas): correspondiente a la parte superior de ese transversal

Ni el índice predeterminado número entero de la subasta son 0 desde el principio.

# 输出行索引
print(df1.index)
[out]:
RangeIndex(start=0, stop=4, step=1)
---------------------------------------
# 输出列索引
print(df1.columns)
[out]:
RangeIndex(start=0, stop=3, step=1)
---------------------------------------
# 输出所有的值
print(df1.values)
[out]:
array([['a', 10, 1.1],
       ['b', 20, 2.2],
       ['c', 30, 3.3],
       ['d', 40, 4.4]], dtype=object)

1.2 índices personalizados

Se puede utilizar el índice este parámetro para especificar el índice de la fila, las columnas Este parámetro especifica el índice de la columna.

df2 = pd.DataFrame(myList, 
		   index = ['one', 'two', 'three', 'four'], 
		   columns = ['char', 'int', 'float'])
print(df2)
-----------------------------------------------------------
[out]:
      char  int  float
one      a   10    1.1
two      b   20    2.2
three    c   30    3.3
four     d   40    4.4

En este momento, la salida de los índices de fila y de columna:

# 输出行索引
print(df2.index)
[out]:
Index(['one', 'two', 'three', 'four'], dtype='object')
--------------------------------------------------------
# 输出列索引
print(df2.columns)
[out]:
Index(['char', 'int', 'float'], dtype='object')

2. Utilice un simple índice

2.1 Índice

  • Selecciona uno:
print(df2['char'])
print(df2.char)
# 两种方式输出一样
[out]:
one      a
two      b
three    c
four     d
Name: char, dtype: object

Tenga en cuenta que en este momento los paréntesis sólo pasa una cadena char ', un tipo tal electo del resultado de la serie

type(df2['char'])
[out]: pandas.core.series.Series
  • Seleccionar varias columnas:
print(df2[['char', 'int']])
[out]: 
      char   int
one      a   10
two      b   20
three    c   30
four     d   40

Tenga en cuenta que en este momento una lista de los corchetes [entrantes 'carbón', 'int' ], los resultados de la trama de datos tipo seleccionado.
Si desea un elegido, que quieren volver tipo de trama de datos de cómo hacerlo?

print(df2[['char']])
[out]:
      char
one      a
two      b
three    c
four     d
---------------------------------------
type(df2[['char']])
[out]:pandas.core.frame.DataFrame

Nota directamente df2 [0] para tomar una columna se quejan, a menos que haya una columnas de índice subíndice que consisten en, por ejemplo, df1 de esa manera, DF1 [0] no será un error.

print(df1[0])
[out]:
0    a
1    b
2    c
3    d
Name: 0, dtype: object
-----------------------
print(df2[0])
[out]: 
KeyError: 0

2.2 Índice de Línea

2.2.1 Uso []

A diferencia de la fila seleccionada, de esta manera [] ya no es una sola pasada en una cadena, pero secciones necesidad de colon.

  • Seleccione la fila de etiquetas múltiples filas de datos de 'dos' a 'tres' de
print(df2['two': 'three'])
[out]:
      char  int  float
two      b   20    2.2
three    c   30    3.3
  • Seleccione la línea marcada por dos '' los datos de la línea
# 此时返回的类型为DataFrame
print(df2['two': 'two'])
[out]:
      char  int  float
two      b   20    2.2

En [] no sólo puede pasar a los rótulos de fila, también puede pasar el número de línea.

  • Seleccionar datos de la primera fila a la tercera fila (numerados de cero)
print(df2[1:4])
[out]:
      char  int  float
two      b   20    2.2
three    c   30    3.3
four     d   40    4.4

Puede ver los datos seleccionados no incluye el número de tramos que corresponden a los datos de más a la derecha.

  • Seleccione los datos de la primera fila
print(df2[1:2])
[out]:
    char  int  float
two    b   20    2.2
2.2.2 .loc () y .iloc ()

La diferencia es .loc () es para seleccionar los datos sobre la base del valor de la fila y de columna índices, y .iloc () es un índice de la posición de inicio 0 al índice.

  • Seleccionar línea:
  1. Utilice .loc ()
print(df2.loc['one'])
[out]:
char       a
int       10
float    1.1
Name: one, dtype: object
  1. Utilice .iloc ()
print(df2.iloc[0])
[out]:
char       a
int       10
float    1.1
Name: one, dtype: object

Podemos ver los resultados anteriores se volvieron serie.

  • Seleccionar varias filas
  1. Utilice .loc ()
print(df2.loc[['one', 'three']])
[out]:
      char  int  float
one      a   10    1.1
three    c   30    3.3
  1. Utilice .iloc ()
print(df2.iloc[[0, 2]])
[out]:
      char  int  float
one      a   10    1.1
three    c   30    3.3

Del mismo modo, si usted quiere elegir el tipo de trama de datos consecutivo, que necesita para aprobar la lista contiene un solo elemento:

print(df2.loc[['one']])
[out]:
    char  int  float
one    a   10    1.1
Publicado cuatro artículos originales · alabanza ganado 30 · vistas 4460

Supongo que te gusta

Origin blog.csdn.net/Fantine_Deng/article/details/104918967
Recomendado
Clasificación