#python #data-visualization #data-analysis
#python #визуализация данных #анализ данных
Вопрос:
price=[[3117.02002, 3105.459961, 3135.659912, 3131.060059, 3128.810059, 3110.280029, 3137.389893, 3035.02002, 3143.73999, 3311.3701170000004, 3322.0, 3241.159912, 3048.409912, 3004.47998, 3036.149902, 3211.01001, 3162.780029, 3286.330078, 3207.040039, 3204.399902, 3176.399902, 3184.939941, 3217.01001, 3207.209961, 3272.709961, 3338.649902, 3363.709961, 3443.6298829999996, 3442.929932, 3286.649902, 3190.550049, 3195.689941, 3099.959961, 3199.199951, 3125.0, 3221.26001, 3148.72998, 3144.8798829999996, 3174.050049, 3095.1298829999996, 3019.790039, 2999.860107, 3128.98999, 2960.469971, 2954.909912, 3008.72998, 3078.100098]]
def f(a):
for i in range(len(a):
print(a[i]-a[i-1])
Комментарии:
1. Привет, не могли бы вы немного прояснить свой вопрос? Похоже, ваша функция уже вычисляет то, что вы хотите. Итак, каким именно будет ваш желаемый результат?
2. Ах, я вижу проблему, вероятно, потому, что вы начинаете с 0 в своем диапазоне. Что, если вы замените
range(len(a))
наrange(1, len(a))
? будет ли это печатать результат, который вы хотели?3. в
range(len(a)
(отсутствует паретезис) есть опечатка, и проблема в вашем подходе, как уже упоминалось, вы начинаете с неправильного индекса, ваш код ничего не рисует, потому что вы даже не вызываете функцию
Ответ №1:
Вы можете получить список с помощью этого кода.
dif_list = []
def dif(price,dif_list):
i = price[0]
for j in price[1:]:
diff = j-i
dif_list.append(diff)
i = j
return dif_list
dif_list = dif(price,dif_list)
И вы можете использовать pandas dataframes и matplotlib.pyplot для рисования ваших данных.
Я не видел никаких усилий для решения проблемы, поэтому, пожалуйста, попробуйте нарисовать.