У меня есть CSV-файл с 5 столбцов и 13 строк, выглядит следующим образом:Условные операторы в цикле
сайт длина эксперимента ширина высота
1 1 2.2 1.3 9.6
1 2 2.1 2.2 7.6
1 3 2.7 1.5 2.2
2 1 3 4.5 1.5
2 2 3.1 3.1 4
2 3 2.5 2.8 3
3 1 1.9 1.8 4.5
3 2 1.1 0.5 2.3
3 3 3.5 2 7.5
4 1 2.9 2.7 3.2
4 2 4.5 4.8 6.5
4 3 1.2 1.8 2.7
Длина/ширина/высота является то, что из растений.
Для каждой строки в наборе данных Я хочу, чтобы создать условный код, чтобы увидеть, если растение высотой (высота> 5), средний (2 < = высота < 5), или короткий (высота < 2), а затем определить общее количество углерода на каждом растении.
Общий углерод в растении = 1,8 + 2 * журнал (объем), где объем = длина х ширина х высота.
Затем я хочу сохранить эту информацию как таблицу во вложенном списке, где первый столбец имеет номер эксперимента, второй столбец содержит строку «высокий», «средний» или «короткий» в зависимости от высоты установки , а третья колонка содержит содержание углерода в установке.
Это мой код до сих пор:
from __future__ import division
import math
import numpy
shrub_exp=numpy.loadtxt("/Users/louisestevens/Downloads/shrub_volume_experiment.csv",dtype=float,delimiter=',',skiprows=1,usecols=(2,3,4))
for rows in shrub_exp:
print(rows)
height=(shrub_exp,4)
def height_test(height):
if height > 5:
return 'Tall'
elif 2 <= height < 5:
return 'Medium'
else:
return 'Short'
for x in height:
print(height_test(x))
for x,y,z in shrub_exp:
volume=(x*y*z)
total_carbon=1.8 + 2 * math.log(volume)
print(total_carbon)
Я уверен, если я выбрал столбец высоты - что в последней колонке - правильно и как хранить эту информацию в вложенном списке.
Возможно, у меня есть некоторые указания относительно того, как писать этот сценарий лаконично и эффективно.
Btw, отступы всего на 4 пробела (или выделить + ctrl + k), чтобы сохранить форматирование. – Carcigenicate
Этот код работает без ошибок для вас? Я получаю ValueError в строке 10? Если вы получите сообщение об ошибке, это будет полезной информацией для включения в ваш пост. – CAB
Я не знаю много Numpy, но я думаю, что 'height = (shrub_exp, 4)' должен быть 'height = shrub_exp [4]' –