#python #csv #time-series #fft #frequency-analysis
Вопрос:
Привет, у меня есть следующий набор данных. данные большие, и здесь я представляю данные за 1-е 30. это временной ряд данных об уровне воды с интервалом в 15 минут.
дата и время | время (мин) | время(Сек) | WL (мм) | |
---|---|---|---|---|
0 | 1/2/2021 | 0:00:00 | 0 | 7109.380 |
1 | 1/2/2021 | 0:15:00 | 900 | 7108.028 |
2 | 1/2/2021 | 0:30:00 | 1800 | 7107.959 |
3 | 1/2/2021 | 0:45:00 | 2700 | 7109.185 |
4 | 1/2/2021 | 1:00:00 | 3600 | 7109.045 |
5 | 1/2/2021 | 1:15:00 | 4500 | 7110.831 |
6 | 1/2/2021 | 1:30:00 | 5400 | 7110.585 |
7 | 1/2/2021 | 1:45:00 | 6300 | 7110.997 |
8 | 1/2/2021 | 2:00:00 | 7200 | 7109.854 |
9 | 1/2/2021 | 2:15:00 | 8100 | 7109.671 |
10 | 1/2/2021 | 2:30:00 | 9000 | 7110.530 |
11 | 1/2/2021 | 2:45:00 | 9900 | 7110.583 |
12 | 1/2/2021 | 3:00:00 | 10800 | 7111.532 |
13 | 1/2/2021 | 3:15:00 | 11700 | 7110.585 |
14 | 1/2/2021 | 3:30:00 | 12600 | 7111.124 |
15 | 1/2/2021 | 3:45:00 | 13500 | 7111.877 |
16 | 1/2/2021 | 4:00:00 | 14400 | 7110.813 |
17 | 1/2/2021 | 4:15:00 | 15300 | 7112.031 |
18 | 1/2/2021 | 4:30:00 | 16200 | 7113.617 |
19 | 1/2/2021 | 4:45:00 | 17100 | 7111.739 |
20 | 1/2/2021 | 5:00:00 | 18000 | 7112.435 |
21 | 1/2/2021 | 5:15:00 | 18900 | 7110.201 |
22 | 1/2/2021 | 5:30:00 | 19800 | 7111.451 |
23 | 1/2/2021 | 5:45:00 | 20700 | 7111.533 |
24 | 1/2/2021 | 6:00:00 | 21600 | 7112.126 |
25 | 1/2/2021 | 6:15:00 | 22500 | 7110.860 |
26 | 1/2/2021 | 6:30:00 | 23400 | 7112.207 |
27 | 1/2/2021 | 6:45:00 | 24300 | 7110.383 |
28 | 1/2/2021 | 7:00:00 | 25200 | 7110.979 |
29 | 1/2/2021 | 7:15:00 | 26100 | 7109.918 |
я хочу сделать распределение частоты с помощью единицы измерения частоты в циклах в день, я сделал это с помощью другого программного обеспечения следующим образом:
как я могу сделать график частоты из csv в python?
Комментарии:
1. Эй! Не могли бы вы пометить ось графика, соответствующую столбцам csv?
2. Привет, 5-я колонка-это данные об уровне воды. каждые 15 минут собираются данные.. остальные три столбца-это время в другом формате.. так что, если я сделаю FFT.. ось y покажет амплитуду уровня воды, а ось x-частоту, которая составляет циклы в день.. уровень воды показывает сигнал с 2 циклами в день. вот почему мы видим всплеск сигнала 2cpd/.. Спасибо
3. циклы в день означают одну полную длину волны за 24 часа. таким образом, 2 cpd означает 2 полных длины волны за 24 часа или одну полную длину волны за 12 часов. В более общем плане период (T) составляет 24 (1 день) часа для 1 cpd и 12 часов для 2 cpd.
4. Как вы рассчитываете частоту циклов в день? Вы пользуетесь
np.fft.fft()
? Различаете ли вы входные данные (измерения уровня воды) перед подачей их в функцию FFT?5. Я проанализировал данные с помощью специального программного обеспечения, которое использует временные шаги и данные WL для преобразования временной области в частотную область. Вот почему я спрашиваю, как я могу создать этот сюжет с помощью python..