Может кто-нибудь объяснить мне, как решить эту проблему.
Допустим, у меня есть такой фрейм данных:
Df = {'toto': ["A", "B", "C", "D"],
'titi': ["g", "t", "x", "z"],
'Energy': [180, 345, 234, 654],
'T10sec': [0.1, 0.4, 0.5, 1],
'T50sec': [5.3, 5.7, 8, 2]}
Для этого Df
я создал функцию типа
def record(letter1, letter2, Energy_value, time):
Что я хочу сделать, это
Проверьте, есть ли: вводимые значения в этом Df
, если yes
, то
Results = Df.thecorrespondingtime[i]
Предположим, что для в столбцах 'toto'
и 'titi'
буква ввода находится в Df
, возможны два варианта:
Case1: вход 'Energy_value'
имеет значение Df
, но не значение 'time'
, тогда я нужно найти диапазон этого значения, создать его столбец и заполнить его интерполяцией.
Случай 2: значение столбца 'time'
существует, но входное значение энергии нет. Здесь я снова должен выполнить интерполяцию.
Мои ограничения: как проверить, существует ли столбец 'time'
и как поместить между двумя существующими значениями. Тот же вопрос для входного значения энергии.
Вот что я попробовал:
def record(letter1, letter2, Energy_value, time='T15sec'):
For i in range(len(Df)):
If ((df.toto[i] == letter1) and
(df.titi[i] == letter2) and
(df.Energy[i] == Energy_value) and
(time in df)):
Но это не работает. Кто-нибудь может мне помочь?