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