Я новичок в python и у меня проблема. В основном у меня есть два словаря с глубиной в качестве ключа и соответствующей концентрацией pH / H2 в качестве значений.
Теперь я хочу создать два новых списка со значениями pH и H2, состоящими из значений, взятых из двух словарей. Я хочу принимать значения pH и H2 только тогда, когда глубина в словаре 1 равна глубине 1 + 6000 в словаре 2. Так, например, Глубина 1 = 4000, тогда Глубина 2 будет 4000 + 6000 = 10000, если выполняется это условие, то соответствующие значения pH и H2 будут включены в новые списки.
Поскольку я новичок в python, я понятия не имею, с чего начать. Я пробовал что-то вроде этого:
"""Aligning of profile data"""
#fill in height of cathode for both profiles
Dept_H2 = 36000
Depth_pH = 42000
#calculate Depth difference
D_diff = Depth_pH - Depth_H2
print(D_diff)
#create dictionaries for pH and H2
H2_M = (Input2['concentration (mol/L)'].to_list())
Depth_H2 = (Input2['Depth H2'].to_list())
pH_dict = dict(zip(Average_depth, Average_pH))
H2_dict = dict(zip(Depth_H2, H2_M))
print(pH_dict)
print(H2_dict)
#create new lists for pH and H2 concentration values
pH = []
H2_con = []
for keys in pH_dict.keys():
print(keys)
for base in range(0, len(pH_dict[keys])):
if keys in H2_dict == (pH_dict.keys() + D_diff):
pH.append(pH_dict.values())
H2_con.append(H2_dict.values())
При запуске этого я получаю следующую ошибку:
Traceback (most recent call last):
File, line 42, in <module>
for base in range(0, len(pH_dict[keys])):
TypeError: object of type 'numpy.float64' has no len()
Однако даже без этой ошибки я не думаю, что это будет работать. Любая подсказка о том, что я должен делать, будет принята с благодарностью