У меня есть датафрейм с тремя столбцами:
Глубина, объем сланца и плотность.
Что мне нужно сделать, так это рассчитать пористость на основе объема и плотности сланца. Поэтому, когда объем сланца составляет> 0,7, я применяю определенные параметры для расчета пористости, а где у меня объем <0,2, у меня есть другие параметры. </p>
Например, если объем сланца <0,2: </p>
porosity=density*2.3
и если объем сланца> 0,7:
porosity=density*1.7
это пример части кадра данных, если есть:
depth density VSH
5517 2.126 0.8347083
5517.5 2.123 0.8310949
5518 2.124 0.8012414
5518.5 2.121 0.7838615
5519 2.116 0.7674243
5519.5 2.127 0.8405414
это кусок кода, который я пытаюсь сделать. Я хочу, чтобы он был в цикле for, потому что он будет служить для будущих целей:
for index, row in data.iterrows():
if data.loc[index, 'VSH']<0.2:
data.loc[index,'porosity']=(data['density']*2.3)
elif data.loc[index, 'VSH'] > 0.7:
data.loc[index,'porosity']=(data['density']*1.7)
Я получаю следующую ошибку: было бы замечательно, если бы вы могли мне помочь:
TypeError: '<' not supported between instances of 'str' and 'float'