pandas - показать название столбца + сумма, в которой сумма больше нуля - PullRequest
1 голос
/ 04 августа 2020

Я прочитал свой фрейм данных с помощью:

dataframe = pd.read_csv("testFile.txt", sep = "\t", index_col= 0)

Я получил такой фрейм данных:

cell 17472131 17472132 17472133 17472134 17472135 17472136
cell_0 1 0 1 0 1 0
cell_1 0 0 0 0 1 0
cell_2 0 1 1 1 0 0 
cell_3 1 0 0 0 1 0 

с pandas Я хотел бы получить все имена столбцов, в которых сумма столбца> 1 и общая сумма. Итак, я хотел бы:

17472131 2
17472133 2
17472135 3

Я понял, как получить суммы каждого столбца с помощью

dataframe.sum(axis=0)

, но это также возвращает столбцы с суммой ниже 2 .. это есть способ показать только столбцы с более высоким значением, чем 1?

1 Ответ

2 голосов
/ 04 августа 2020

Один довольно изящный способ - использовать лямбда-функцию в loc:

df.set_index('cell').sum().loc[lambda x: x>1]

Вывод:

17472131    2
17472133    2
17472135    3
dtype: int64

Подробности: df.sum возвращает pd.Series, и мы можем использовать lambda x: x>1 для создания логических серий, которые loc используют логическую индексацию для выбора только истинных частей pd.Series.

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