В Python DataFrame как узнать количество строк, которые имеют допустимые значения столбцов - PullRequest
0 голосов
/ 27 сентября 2018

Я хочу найти количество строк, которые имеют определенные значения, такие как None или "" или NaN (в основном пустые значения) во всех столбцах объекта DataFrame.Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Используйте df.isnull().sum(), чтобы получить количество строк со значениями None и NaN.

Используйте df.eq(value).sum() для любого типа значений, включая пустую строку "".

0 голосов
/ 27 сентября 2018

Используйте pandas dataframe.isin для создания логического массива.Суммируйте строку, затем найдите количество строк с результатом> 0.

Поместите одно или несколько значений в список search_values ​​для поиска в строках кадра данных.

search_values = ['', np.nan, None]
(df.isin(search_values).sum(axis=1) > 0).sum()

Если вы хотите количество строк в столбце:

df.isin(search_values).sum(axis=0)
0 голосов
/ 27 сентября 2018

В pandas.Series (воспринимайте это как столбец нормального pandas.DataFrame):

>> s = pd.Series([np.nan, np.nan, 1, 2, np.nan])

>> s

0    NaN
1    NaN
2    1.0
3    2.0
4    NaN

>>  s.isnull().sum()

  3

Для pandas.DataFrame очень похоже:

>>  pd.DataFrame(np.array([[np.nan, np.nan],
 ...:        [ 0., np.nan],
 ...:        [ 1.,  1.],
 ...:        [ 2.,  2.],
 ...:        [np.nan, np.nan]]))

>> df

     0    1
0  NaN  NaN
1  0.0  NaN
2  1.0  1.0
3  2.0  2.0
4  NaN  NaN

>> df.isnull().sum(axis=0)

0    2
1    3
dtype: int64

Для суммирования по строке просто наберите .sum(axis=1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...