Удалить строку, имеющую любое значение 0

У меня есть фрейм данных с двумя столбцами «Сервис» и «Значение». Я хочу удалить все строки, имеющие «0» в столбце значений.

service    value

abc         10
def          0
ghi          0
xyz          5

Я хочу, чтобы мой фрейм данных выглядел как

service    value

abc         10
xyz          5

Я попробовал следующее

df = df[(df != 0).all(1)]



df = pd.DataFrame(list(result.items()),columns=['service', 'value'])
df = df[(df != 0).all(1)]

Для небольшого Dataframe, имеющего 6-7 строк, он работает нормально, но в другом Dataframe, имеющем 125 строк, я получаю следующую ошибку.

Незаконная инструкция

PS: я проверил все значения в столбце «значение», и это числа.

0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать функцию уронить в сочетании с условием:

df = pd.DataFrame(
{'service': ['abc', 'def', 'ghi', 'xyz'],
'value': [10,0,0,5]})
df.drop(df[df.value==0].index)

Вне :

service value
0   abc 10
3   xyz 5

Есть ли зависимость фрейма данных от количества ключей словаря. После небольшой отладки я обнаружил, что когда количество моих ключей превышает 31, я увидел ошибку. Вот мой код:

niraj pandey 29.05.2019 09:33

Я не уверен, что понимаю ваш вопрос, но нет никакой зависимости. Каждый ключ словаря соответствует новому столбцу в моем bf

vlemaistre 29.05.2019 09:35

Я попробовал следующий код со словарем, имеющим 31 ключ, и он работает нормально, но когда я запускаю тот же код со словарем 32 ключа, я получаю: «Недопустимые инструкции» import pandas as pd pd.set_option('display.max_rows', None) df = pd.DataFrame(list(result.items()),columns=['Service', '$Amount']) df = df[(df != 0).all(1)]

niraj pandey 29.05.2019 09:38

результат = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 0, 'f': 2, 'g': 0, 'h': 1 ,'i': 10,'k':11,'l': 19, 'm': 21,'n': 23,'o':43,'p':35,'q': 43,' r': 4, 's': 2, 't': 0, 'u': 67, 'v': 21, 'w': 14, 'x': 0, 'y': 0, 'z' :12,'j':134,'as':12,'ad'‌​:31,'aw':14,'ds':30, 'asq': 23} Для тестирования вы можете использовать этот словарь и воспроизведите проблему, добавьте еще одно значение ключа в этот словарь

niraj pandey 29.05.2019 09:48

Хорошо, нашел проблему, но не уверен в первопричине этого. Кажется, это нормально работает на платформе RHEL6, но проблема с платформой RHEL5. Всякий раз, когда я использую одну и ту же версию Python как на платформе, так и с помощью Python из общего места (без использования локальной установки).

niraj pandey 29.05.2019 10:10

Другие вопросы по теме