Um die Anzahl der Zeilen in einem Datenrahmen Nutzung zu erhalten:
df.shape[0]
(und df.shape[1]
, um die Anzahl der Spalten zu erhalten).
Als Alternative können Sie
len(df)
oder
len(df.index)
(und len(df.columns)
für die Spalten) verwenden
shape
vielseitiger und bequemer ist als len()
, vor allem für die interaktive Arbeit (muss nur am Ende hinzugefügt werden), aber len
ist ein bisschen schneller (siehe auch o).
zu vermeiden: count()
weil es die Zahl der Nicht-NA/null Beobachtungen gibt angefordert über Achse
len(df.index)
ist schneller
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(24).reshape(8, 3),columns=['A', 'B', 'C'])
df['A'][5]=np.nan
df
# Out:
# A B C
# 0 0 1 2
# 1 3 4 5
# 2 6 7 8
# 3 9 10 11
# 4 12 13 14
# 5 NaN 16 17
# 6 18 19 20
# 7 21 22 23
%timeit df.shape[0]
# 100000 loops, best of 3: 4.22 µs per loop
%timeit len(df)
# 100000 loops, best of 3: 2.26 µs per loop
%timeit len(df.index)
# 1000000 loops, best of 3: 1.46 µs per loop
df.__len__
ist nur ein Aufruf len(df.index)
import inspect
print(inspect.getsource(pd.DataFrame.__len__))
# Out:
# def __len__(self):
# """Returns length of info axis, but here we use the index """
# return len(self.index)
Warum sollten Sie nicht count()
df.count()
# Out:
# A 7
# B 8
# C 8
Ok, es war einfach verwenden. Das Len (Dataframe) war die einfache Antwort. print len (df3) – IcemanBerlin
Das funktioniert ... genau wie ein fyi sieht es so aus, als würdest du die '') verlassen, also wenn du 'cnt = df.count' nennst, setzt du' cnt' gleich einer Methode des Datenrahmens, nicht das Ergebnis dieser Methode. Versuchen Sie 'cnt = df.count(); drucke cnt', um zu sehen, worüber ich rede. – tshauck
Ah. Danke, tshauck, ich denke, das war genau das, was ich versuchte zu tun. Das Ergebnis zu diesem Test tatsächlich gedruckt die Anzahl für jedes Feld, d. H. Field1 = 10 und nächste Zeile Feld2 = 10. Ich denke, Sie könnten auch die Anzahl auf ein bestimmtes Feld anwenden? – IcemanBerlin