У меня есть фрейм данных с двумя столбцами «Сервис» и «Значение». Я хочу удалить все строки, имеющие «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: я проверил все значения в столбце «значение», и это числа.
Вы можете использовать функцию уронить в сочетании с условием:
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
Я не уверен, что понимаю ваш вопрос, но нет никакой зависимости. Каждый ключ словаря соответствует новому столбцу в моем bf
Я попробовал следующий код со словарем, имеющим 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)]
результат = {'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} Для тестирования вы можете использовать этот словарь и воспроизведите проблему, добавьте еще одно значение ключа в этот словарь
Хорошо, нашел проблему, но не уверен в первопричине этого. Кажется, это нормально работает на платформе RHEL6, но проблема с платформой RHEL5. Всякий раз, когда я использую одну и ту же версию Python как на платформе, так и с помощью Python из общего места (без использования локальной установки).
Есть ли зависимость фрейма данных от количества ключей словаря. После небольшой отладки я обнаружил, что когда количество моих ключей превышает 31, я увидел ошибку. Вот мой код: