#python #r #конвертация
Доброго времени суток. Учу python ну и собственно хочу перевести код с R и очень
интересует следующий вопрос: Как удобнее всего было бы реализовать сравнение данных
из таблицы excel с критериями, которые вводятся в скрипте, как это сделано в скрипте R?
a <- as.numeric(readline(prompt="Введите количество рабочих на вашем предприятии:
1, если меньше 8,5 тыс.чел, 2 в противном случае: "))
b<-as.numeric(readline(prompt="Введите тип вашей индустрии: 2, если высокодоходная,
1 в противном случае: "))
c<-as.numeric(readline(prompt="Введите производительность труда вашего предприятия
в тыс. руб./чел: "))
d<-as.numeric(readline(prompt="Введите рентабельность компании в %: "))
e<-as.numeric(readline(prompt="Введите темп роста компании в %: "))
tryCatch(
{ localenv <- environment()
asde<-work_file[as.numeric(work_file$WORKER)==a & as.numeric(work_file$OTRASL)==b
& (work_file$PROISVOD>c-500 & work_file$PROISVODd/100-0.2
& work_file$RENTABe/100-0.3 & work_file$TEMP
Ответы
Ответ 1
Начать можно с такого варианта:
import pandas as pd
url = r'd:/download/data.xlsx'
# читаем Excel в Pandas DataFrame
df = pd.read_excel(url)
# это нужно будет переделать на ввод текста
# или можно читать это из другого CSV/Excel файла
a = 1
b = 1
c = 1000
d = 50
e = 80
# query ...
qry = '''
WORKER == @a & \
OTRASL == @b & \
PROISVOD > @c-500 & PROISVOD < @c+500 & \
RENTAB > @d/100-0.2 & RENTAB < @d/100+0.2 & \
TEMP > @e/100-0.3 & TEMP < @e/100+0.3 \
'''
print(df.query(qry))
Output:
КОМП НОМЕР REAL TEMP RENTAB PROISVOD OTRASL WORKER
25 Башнефть 18 36948.0 0.833 0.329 838.1 1 1
112 Норильск 6 134617.0 0.878 0.394 1402.1 1 1
Комментариев нет:
Отправить комментарий