Python - wymiar ramki danych

85

Nowość w Pythonie.

W R możesz uzyskać wymiar macierzy za pomocą dim (...). Jaka jest odpowiednia funkcja w Python Pandas dla ich ramki danych?

user1911092
źródło
2
Aby uzyskać szczegółowe podsumowanie wszystkich sposobów uzyskiwania informacji o wymiarach w DataFrames i Series, zobacz tę odpowiedź poniżej
Ted Petrou,

Odpowiedzi:

147

df.shape, gdzie dfjest twój DataFrame.

BrenBarn
źródło
24

Podsumowanie wszystkich sposobów uzyskiwania informacji o wymiarach DataFrame lub Series

Istnieje wiele sposobów uzyskania informacji o atrybutach ramki DataFrame lub Series.

Utwórz przykładową ramkę danych i serię

df = pd.DataFrame({'a':[5, 2, np.nan], 'b':[ 9, 2, 4]})
df

     a  b
0  5.0  9
1  2.0  2
2  NaN  4

s = df['a']
s

0    5.0
1    2.0
2    NaN
Name: a, dtype: float64

shape Atrybut

shapeAtrybut zwraca krotki dwóch pozycji liczbę wierszy i liczbę kolumn w DataFrame. W przypadku serii zwraca krotkę z jednym elementem.

df.shape
(3, 2)

s.shape
(3,)

len funkcjonować

Aby uzyskać liczbę wierszy DataFrame lub uzyskać długość serii, użyj lenfunkcji. Zwrócona zostanie liczba całkowita.

len(df)
3

len(s)
3

size atrybut

Aby uzyskać całkowitą liczbę elementów w DataFrame lub Series, użyj sizeatrybutu. W przypadku ramek DataFrames jest to iloczyn liczby wierszy i liczby kolumn. W przypadku serii będzie to równoważne lenfunkcji:

df.size
6

s.size
3

ndim atrybut

ndimAtrybut zwraca liczbę wymiarów swojej DataFrame lub serialu. Zawsze będzie to 2 dla DataFrames i 1 dla Series:

df.ndim
2

s.ndim
1

Podstępna countmetoda

countMetoda może być zastosowana, aby powrócić do liczby wartości niebrakującymi dla każdej kolumny / rzędzie DataFrame. Może to być bardzo mylące, ponieważ większość ludzi zwykle myśli o liczeniu tylko jako długości każdego wiersza, a tak nie jest. W przypadku wywołania w DataFrame zwracana jest seria z nazwami kolumn w indeksie i liczbą wartości bez braków danych jako wartości.

df.count() # by default, get the count of each column

a    2
b    3
dtype: int64


df.count(axis='columns') # change direction to get count of each row

0    2
1    2
2    1
dtype: int64

W przypadku serii jest tylko jedna oś do obliczeń, więc zwraca tylko wartość skalarną:

s.count()
2

Użyj infometody do pobierania metadanych

infoSposób powraca liczbę nieginących wartości i typów danych każdej kolumnie

df.info ()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
a    2 non-null float64
b    3 non-null int64
dtypes: float64(1), int64(1)
memory usage: 128.0 bytes
Ted Petrou
źródło