Как получить количество строк в Pandas DataFrame

  1. .shape метод для получения количества строк DataFrame
  2. .len(DataFrame.index) быстрейший метод получения количества строк в Pandas
  3. dataframe.apply() для подсчета строк, удовлетворяющих условию в Pandas

Мы познакомимся с тем, как получить количество строк в Pandas dataframe, используя различные методы, такие как shape и len(DataFrame.index). Существуют заметные различия в производительности, которые мы обнаружили, что len(DataFrame.index) является самым быстрым.

Мы также смотрим, как мы можем использовать dataframe.apply() для получения того, сколько элементов строк удовлетворяет условию или нет

.shape метод для получения количества строк DataFrame

Предположим, что df - это наш DataFrame, для подсчета рядов:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',df.shape[0])

Выход:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3

Для подсчета столбцов мы можем использовать df.shape[1].

.len(DataFrame.index) быстрейший метод получения количества строк в Pandas

Мы можем вычислить строки в DataFrame, получив индекс длины переменных-членов:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',len(df.index))

Вывод:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3 

мы также можем передать df.axes[0] вместо df.index:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',len(df.axes[0]))

Выход:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3

Для подсчета колонок можно использовать df.axes[1].

dataframe.apply() для подсчета строк, удовлетворяющих условию в Pandas

На основе результата dataframe.apply() подсчета числа True в возвращаемом цикле мы можем узнать элементы строк в DataFrame, удовлетворяющие условию.

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
counterFunc = df.apply(
    lambda x: True if x[1] > 3 else False , axis=1)
numOfRows = len(counterFunc[counterFunc == True].index)
print(df)
print('Row count > 3 in column[1]is:',numOfRows)

Выход:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count > 3 in column[1]is: 2

Мы получаем количество строк, значение которых в column[1] больше 3.

comments powered by Disqus