Объектно-ориентированный режим очистки фрейма данных в pandas - PullRequest
0 голосов
/ 07 мая 2020

Мне нужна помощь в написании моего python кода в объектно-ориентированном режиме. Я пытаюсь пометить значения столбцов в кадре данных, используя pandas. Может ли кто-нибудь помочь мне, с чего мне начать, или порекомендовать мне ресурсы? Как я могу объявить глобальную переменную и указать диапазон для температуры и влажности, а затем написать функцию для отметки значений, выходящих за пределы диапазона?

Вот мой код:

import pandas as pd


filename = 'data.csv'
#Read the dataframe and display the column names in the dataframe
df = pd.read_csv('data.csv', encoding="Latin",low_memory=False, keep_default_na = False, parse_dates = True)


#Condition: If the values are less than -50 and greater than 50, flag the values

for index, row in df.iterrows():
    if (row['Temperature'] < -50) | (row['Temperature (C)'] > 50):
            print index, row ['Temperature']


#Condition: If the values are less than 0 and greater than 100, flag the values

for index, row in df.iterrows():
    if (row['Humidity'] < 0.0) | (row['Humidity'] > 100):
        print index, row ['Humidity']

1 Ответ

0 голосов
/ 07 мая 2020

Если вы просто хотите отобразить строки, отвечающие некоторым условиям, вы можете использовать метод запроса.

print df.query('Temperature < -50 | Temperature > 50')

Если вы хотите добавить флаг в новый столбец, используйте df.eval

# init the new column
df['Flag']= 'Inside'

# update based on the test 
df.loc[df.eval('Temperature < -50 | Temperature > 50'), 'Flag'] = 'Outside'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...