Python Pandas - podstawowa funkcjonalność

Do tej pory dowiedzieliśmy się o trzech strukturach danych Pandas oraz o tym, jak je tworzyć. Skoncentrujemy się głównie na obiektach DataFrame ze względu na ich znaczenie w przetwarzaniu danych w czasie rzeczywistym, a także omówimy kilka innych struktur danych.

Podstawowe funkcje serii

Sr.No. Atrybut lub metoda i opis
1

axes

Zwraca listę etykiet osi wierszy

2

dtype

Zwraca typ obiektu.

3

empty

Zwraca wartość True, jeśli seria jest pusta.

4

ndim

Zwraca liczbę wymiarów danych bazowych, zgodnie z definicją 1.

5

size

Zwraca liczbę elementów w danych źródłowych.

6

values

Zwraca szereg jako ndarray.

7

head()

Zwraca pierwsze n wierszy.

8

tail()

Zwraca ostatnie n wierszy.

Utwórzmy teraz serię i zobaczmy wszystkie powyższe operacje atrybutów w tabeli.

Przykład

import pandas as pd
import numpy as np

#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print s

Jego output wygląda następująco -

0   0.967853
1  -0.148368
2  -1.395906
3  -1.758394
dtype: float64

osie

Zwraca listę etykiet serii.

import pandas as pd
import numpy as np

#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("The axes are:")
print s.axes

Jego output wygląda następująco -

The axes are:
[RangeIndex(start=0, stop=4, step=1)]

Powyższy wynik to zwarty format listy wartości od 0 do 5, czyli [0,1,2,3,4].

pusty

Zwraca wartość logiczną określającą, czy obiekt jest pusty, czy nie. Prawda wskazuje, że obiekt jest pusty.

import pandas as pd
import numpy as np

#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("Is the Object empty?")
print s.empty

Jego output wygląda następująco -

Is the Object empty?
False

ndim

Zwraca liczbę wymiarów obiektu. Z definicji seria jest strukturą danych 1D, więc zwraca

import pandas as pd
import numpy as np

#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s

print ("The dimensions of the object:")
print s.ndim

Jego output wygląda następująco -

0   0.175898
1   0.166197
2  -0.609712
3  -1.377000
dtype: float64

The dimensions of the object:
1

rozmiar

Zwraca rozmiar (długość) serii.

import pandas as pd
import numpy as np

#Create a series with 4 random numbers
s = pd.Series(np.random.randn(2))
print s
print ("The size of the object:")
print s.size

Jego output wygląda następująco -

0   3.078058
1  -1.207803
dtype: float64

The size of the object:
2

wartości

Zwraca rzeczywiste dane w serii jako tablicę.

import pandas as pd
import numpy as np

#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s

print ("The actual data series is:")
print s.values

Jego output wygląda następująco -

0   1.787373
1  -0.605159
2   0.180477
3  -0.140922
dtype: float64

The actual data series is:
[ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]

Orzeł reszka

Aby wyświetlić małą próbkę obiektu Series lub DataFrame, użyj metod head () i tail ().

head() zwraca pierwszy nwiersze (zwróć uwagę na wartości indeksu). Domyślna liczba wyświetlanych elementów to pięć, ale możesz podać liczbę niestandardową.

import pandas as pd
import numpy as np

#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s

print ("The first two rows of the data series:")
print s.head(2)

Jego output wygląda następująco -

The original series is:
0   0.720876
1  -0.765898
2   0.479221
3  -0.139547
dtype: float64

The first two rows of the data series:
0   0.720876
1  -0.765898
dtype: float64

tail() zwraca ostatni nwiersze (zwróć uwagę na wartości indeksu). Domyślna liczba wyświetlanych elementów to pięć, ale możesz podać liczbę niestandardową.

import pandas as pd
import numpy as np

#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s

print ("The last two rows of the data series:")
print s.tail(2)

Jego output wygląda następująco -

The original series is:
0 -0.655091
1 -0.881407
2 -0.608592
3 -2.341413
dtype: float64

The last two rows of the data series:
2 -0.608592
3 -2.341413
dtype: float64

Podstawowe funkcje DataFrame

Zrozummy teraz, czym jest podstawowa funkcjonalność DataFrame. W poniższych tabelach wymieniono ważne atrybuty lub metody, które pomagają w podstawowej funkcjonalności DataFrame.

Sr.No. Atrybut lub metoda i opis
1

T

Transponuje wiersze i kolumny.

2

axes

Zwraca listę z etykietami osi wierszy i etykietami osi kolumn jako jedynymi składowymi.

3

dtypes

Zwraca dtypes w tym obiekcie.

4

empty

Prawda, jeśli NDFrame jest całkowicie pusty [brak elementów]; jeśli którakolwiek z osi ma długość 0.

5

ndim

Liczba osi / wymiary tablicy.

6

shape

Zwraca krotkę reprezentującą wymiarowość ramki DataFrame.

7

size

Liczba elementów w NDFrame.

8

values

Numpy reprezentacja NDFrame.

9

head()

Zwraca pierwsze n wierszy.

10

tail()

Zwraca ostatnie n wierszy.

Stwórzmy teraz DataFrame i zobaczmy, jak działają wyżej wymienione atrybuty.

Przykład

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data series is:")
print df

Jego output wygląda następująco -

Our data series is:
    Age   Name    Rating
0   25    Tom     4.23
1   26    James   3.24
2   25    Ricky   3.98
3   23    Vin     2.56
4   30    Steve   3.20
5   29    Smith   4.60
6   23    Jack    3.80

T (transpozycja)

Zwraca transpozycję DataFrame. Wiersze i kolumny będą się zamieniać.

import pandas as pd
import numpy as np
 
# Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

# Create a DataFrame
df = pd.DataFrame(d)
print ("The transpose of the data series is:")
print df.T

Jego output wygląda następująco -

The transpose of the data series is:
         0     1       2      3      4      5       6
Age      25    26      25     23     30     29      23
Name     Tom   James   Ricky  Vin    Steve  Smith   Jack
Rating   4.23  3.24    3.98   2.56   3.2    4.6     3.8

osie

Zwraca listę etykiet osi wierszy i etykiet osi kolumn.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("Row axis labels and column axis labels are:")
print df.axes

Jego output wygląda następująco -

Row axis labels and column axis labels are:

[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'],
dtype='object')]

dtypes

Zwraca typ danych w każdej kolumnie.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("The data types of each column are:")
print df.dtypes

Jego output wygląda następująco -

The data types of each column are:
Age     int64
Name    object
Rating  float64
dtype: object

pusty

Zwraca wartość logiczną określającą, czy obiekt jest pusty, czy nie; Prawda wskazuje, że obiekt jest pusty.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
 
#Create a DataFrame
df = pd.DataFrame(d)
print ("Is the object empty?")
print df.empty

Jego output wygląda następująco -

Is the object empty?
False

ndim

Zwraca liczbę wymiarów obiektu. Z definicji DataFrame jest obiektem 2D.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The dimension of the object is:")
print df.ndim

Jego output wygląda następująco -

Our object is:
      Age    Name     Rating
0     25     Tom      4.23
1     26     James    3.24
2     25     Ricky    3.98
3     23     Vin      2.56
4     30     Steve    3.20
5     29     Smith    4.60
6     23     Jack     3.80

The dimension of the object is:
2

kształt

Zwraca krotkę reprezentującą wymiarowość ramki DataFrame. Tuple (a, b), gdzie a reprezentuje liczbę wierszy, ab represents the number of columns.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
 
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The shape of the object is:")
print df.shape

Its output is as follows −

Our object is:
   Age   Name    Rating
0  25    Tom     4.23
1  26    James   3.24
2  25    Ricky   3.98
3  23    Vin     2.56
4  30    Steve   3.20
5  29    Smith   4.60
6  23    Jack    3.80

The shape of the object is:
(7, 3)

size

Returns the number of elements in the DataFrame.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
 
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The total number of elements in our object is:")
print df.size

Its output is as follows −

Our object is:
    Age   Name    Rating
0   25    Tom     4.23
1   26    James   3.24
2   25    Ricky   3.98
3   23    Vin     2.56
4   30    Steve   3.20
5   29    Smith   4.60
6   23    Jack    3.80

The total number of elements in our object is:
21

values

Returns the actual data in the DataFrame as an NDarray.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
 
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The actual data in our data frame is:")
print df.values

Its output is as follows −

Our object is:
    Age   Name    Rating
0   25    Tom     4.23
1   26    James   3.24
2   25    Ricky   3.98
3   23    Vin     2.56
4   30    Steve   3.20
5   29    Smith   4.60
6   23    Jack    3.80
The actual data in our data frame is:
[[25 'Tom' 4.23]
[26 'James' 3.24]
[25 'Ricky' 3.98]
[23 'Vin' 2.56]
[30 'Steve' 3.2]
[29 'Smith' 4.6]
[23 'Jack' 3.8]]

Head & Tail

To view a small sample of a DataFrame object, use the head() and tail() methods. head() returns the first n rows (observe the index values). The default number of elements to display is five, but you may pass a custom number.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The first two rows of the data frame is:")
print df.head(2)

Its output is as follows −

Our data frame is:
    Age   Name    Rating
0   25    Tom     4.23
1   26    James   3.24
2   25    Ricky   3.98
3   23    Vin     2.56
4   30    Steve   3.20
5   29    Smith   4.60
6   23    Jack    3.80

The first two rows of the data frame is:
   Age   Name   Rating
0  25    Tom    4.23
1  26    James  3.24

tail() returns the last n rows (observe the index values). The default number of elements to display is five, but you may pass a custom number.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
   'Age':pd.Series([25,26,25,23,30,29,23]), 
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
 
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The last two rows of the data frame is:")
print df.tail(2)

Its output is as follows −

Our data frame is:
    Age   Name    Rating
0   25    Tom     4.23
1   26    James   3.24
2   25    Ricky   3.98
3   23    Vin     2.56
4   30    Steve   3.20
5   29    Smith   4.60
6   23    Jack    3.80

The last two rows of the data frame is:
    Age   Name    Rating
5   29    Smith    4.6
6   23    Jack     3.8