/
Вопросы и ответы
/
Python
/

Как узнать количество строк в таблице python

Как узнать количество строк в таблице python

5 лет назад

Человек-Молекула

Ответы

0

Чтобы подсчитать количество строк в DataFrame, вы можете использовать свойство dataframe.shape или dataframe.count().

Dataframe.shape возвращает кортеж, содержащий количество строк в качестве первого элемента и количества столбцов в качестве второго элемента. Индексируя первый элемент, мы можем получить количество строк в DataFrame:

1
2
3
4
5
6
7
8
9
import pandas as pd

# initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

# number of rows in dataframe
num_rows = df.shape[0]

print('Number of Rows in DataFrame :',num_rows)  # => Number of Rows in DataFrame : 4

Dataframe.count(), с значениями параметров по умолчанию возвращает количество значений вдоль каждого столбца. А в DataFrame каждый столбец содержит одинаковое количество значений, равных количеству строк. Индексируя первый элемент, мы можем получить количество строк в DataFrame:

1
2
3
4
5
6
7
8
9
import pandas as pd

# initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

# number of rows in dataframe
num_rows = df.count()[0]

print('Number of Rows in DataFrame :',num_rows)  # => Number of Rows in DataFrame : 4

4 года назад

Игорь Гахов

0

Способ зависит от того, где лежит таблица. Для таблицы pandas (DataFrame) число строк возвращает len(df):

1
2
3
4
5
6
import pandas as pd

df = pd.DataFrame({"name": ["Анна", "Олег", "Мария"], "age": [25, None, 32]})
print(len(df))      # => 3
print(df.shape)     # => (3, 2) — строки и столбцы
print(df.shape[0])  # => 3

df.count() считает непустые значения в каждом столбце — это число строк без пропусков:

1
print(df.count().tolist())  # => [3, 2] — в age один пропуск

Строки в CSV или Excel без pandas

1
2
3
4
5
import csv

with open("data.csv", encoding="utf-8") as f:
    rows = sum(1 for _ in csv.reader(f))
print(rows - 1)  # минус строка заголовков

Через pandas: len(pd.read_csv("data.csv")) или len(pd.read_excel("data.xlsx")) — заголовок в подсчёт не входит.

Строки в таблице базы данных

Число строк лучше посчитать запросом в самой базе — так не придётся загружать всю таблицу в Python:

1
2
3
4
5
import sqlite3

conn = sqlite3.connect("shop.db")
count = conn.execute("SELECT COUNT(*) FROM orders").fetchone()[0]
print(count)

Для PostgreSQL и MySQL запрос тот же, меняется только библиотека подключения.

Список списков

1
2
3
table = [["Анна", 25], ["Олег", 17], ["Мария", 32]]
print(len(table))     # => 3 — строки
print(len(table[0]))  # => 2 — столбцы

Строки по условию

1
print((df["age"] > 30).sum())  # => 1

Работу с таблицами разбирают в курсе «Python для анализа данных».

8 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845