@Eva2022

Задача в Python, как решить?

Задача:
Одного объекта мало.Найдите все объекты, потенциальная прибыльность которых больше 500 тысяч рублей, и выведите на экран всю сохранённую информацию по ним: площадь, стоимость аренды, проходимость, адрес и прогноз прибыли.
Подсказка:
Напишите новое условие: если значение filtered_objects_profits[index] больше 500000, выведите на экран соответствующие данные из списков filtered_objects_area, filtered_objects_price, filtered_objects_traffic, filtered_objects_address и filtered_objects_profits, используя переменную index как индекс объекта.

Код:
import pandas
realty_df = pandas.read_csv('yandex_realty_data.csv')

filtered_objects_area = []
filtered_objects_price = []
filtered_objects_traffic = []
filtered_objects_address = []
filtered_objects_profits = []

for index in range(len(realty_df)):
    if (realty_df['floor'][index] == 1 and
        realty_df['area'][index] >= 40 and
        realty_df['price'][index] <= 190000 and
        realty_df['commercial_type'][index] in ['FREE_PURPOSE', 'RETAIL'] and
        realty_df['distance'][index] <= 6.7 and
        realty_df['already_taken'][index] == 0 and
        realty_df['competitors'][index] <= 1):
        filtered_objects_area.append(realty_df['area'][index])
        filtered_objects_price.append(realty_df['price'][index])
        filtered_objects_traffic.append(realty_df['traffic'][index])
        filtered_objects_address.append(realty_df['address'][index])
        filtered_objects_profits.append(realty_df['traffic'][index] * 
        18 * 1/225 * 0.1 * 21000 * 0.2 * 30 - (realty_df['price'][index] + 
        2 * 50000 * 1.43))

for index in range(len(filtered_objects_profits)):
    if filtered_objects_profits[index]   # допишите новое условие
        print() # выведите данные из filtered_objects_area
        print() # данные из filtered_objects_price
        print() # теперь из filtered_objects_traffic
        print() # из filtered_objects_address
        print() # и filtered_objects_profits
        print('----------')
  • Вопрос задан
  • 1430 просмотров
Решения вопроса 1
@denislysenko
data engineer
import pandas
realty_df = pandas.read_csv('yandex_realty_data.csv')

filtered_objects_area = []
filtered_objects_price = []
filtered_objects_traffic = []
filtered_objects_address = []
filtered_objects_profits = []

for index in range(len(realty_df)):
    if (realty_df['floor'][index] == 1 and
        realty_df['area'][index] >= 40 and
        realty_df['price'][index] <= 190000 and
        realty_df['commercial_type'][index] in ['FREE_PURPOSE', 'RETAIL'] and
        realty_df['distance'][index] <= 6.7 and
        realty_df['already_taken'][index] == 0 and
        realty_df['competitors'][index] <= 1):
        filtered_objects_area.append(realty_df['area'][index])
        filtered_objects_price.append(realty_df['price'][index])
        filtered_objects_traffic.append(realty_df['traffic'][index])
        filtered_objects_address.append(realty_df['address'][index])
        filtered_objects_profits.append(realty_df['traffic'][index] * 
        18 * 1/225 * 0.1 * 21000 * 0.2 * 30 - (realty_df['price'][index] + 
        2 * 50000 * 1.43))

for index in range(len(filtered_objects_profits)):
    if filtered_objects_profits[index]   > 500000: #это и есть твое условие исходя из задачи
        print(filtered_objects_area) # выведет списоке данные из filtered_objects_area
        print(filtered_objects_price) # данные из filtered_objects_price
        print(filtered_objects_traffic) # теперь из filtered_objects_traffic
        print(filtered_objects_address) # из filtered_objects_address
        print(filtered_objects_profits) # и filtered_objects_profits
        print('----------')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sheerluck
@sheerluck
строка, в которой написано
if filtered_objects_profits[index] # допишите новое условие

соответствует подсказке, в которой написано
если значение filtered_objects_profits[index] больше 500000

то есть от вас требуется всего лишь пройтись по подсказке и один в один вписать в те пустые print то, что требуется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
27 июн. 2024, в 17:49
600 руб./за проект
27 июн. 2024, в 17:33
20000 руб./за проект
27 июн. 2024, в 17:19
30000 руб./за проект