J'ai un cadre de données avec trois colonnes : Profondeur, Volume de schiste et Densité.
Ce que je dois faire, c'est calculer la porosité en fonction du volume et de la densité du schiste. Ainsi, lorsque le volume du schiste est >0,7, j'applique certains paramètres pour le calcul de la porosité et lorsque le volume est <0,2, j'applique d'autres paramètres.
Par exemple, si le volume de schiste est < 0,2 :
porosity=density*2.3
et si le volume de schiste est >0,7 :
porosity=density*1.7
Voici l'exemple de la partie du cadre de données que nous avons :
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
Voici le morceau de code que j'essaie de faire. Je veux qu'il soit dans une boucle for parce qu'il servira à des fins futures :
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)
L'erreur que j'obtiens est la suivante, ce serait formidable si vous pouviez me fournir de l'aide :
TypeError: '<' not supported between instances of 'str' and 'float'