前提・実現したいこと
dfは、以下のような、10年間の波高と周期の時系列データです。
このdfから、出現頻度表を作りたいため、
例えば、波高が00.5mかつ周期が56s、といったような条件を満たす数値の出現数を表示させたいです。
試したこと
波高、周期のみでの条件による出現数はそれぞれ求められましたが、
二つの条件を満たす波の個数を示す方法がわからないです。
該当のソースコード
import pandas as pd import collections df_list = [pd.read_csv('{i+2010} wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] for i in range(10)] df=pd.concat([df_list[i] for i in range(10)]) df.columns=["Time (GMT)", "Dominant (peak) wave period (s)", "Significant wave height (Hm0) (m)"] df['Time (GMT)']=pd.to_datetime(df['Time (GMT)']) df=df.set_index("Time (GMT)") b=df["Significant wave height (Hm0) (m)"] print(sum([0< i<=0.25 for i in b])) print(sum([0.25< i<=0.5 for i in b])) print(sum([0.5< i<=0.75 for i in b])) print(sum([0.75< i<=1.0 for i in b])) print(sum([1.0< i<=1.25 for i in b])) print(sum([1.25< i<=1.5 for i in b])) print(sum([1.5< i<=1.75 for i in b])) print(sum([1.75< i<=2.0 for i in b])) print(sum([2.0< i<=2.25 for i in b])) print(sum([2.25< i<=2.5 for i in b])) print(sum([2.5< i<=2.75 for i in b])) print(sum([2.75< i<=3.0 for i in b])) print(sum([3.0< i<=3.25 for i in b])) print(sum([3.25< i<=3.5 for i in b])) print(sum([3.5< i<=3.75 for i in b])) print(sum([3.75< i<=4.0 for i in b])) print(sum([4.0< i<=4.25 for i in b])) print(sum([4.25< i<=4.5 for i in b])) print(sum([4.5< i<=4.75 for i in b])) print(sum([4.75< i<=5.0 for i in b])) print(sum([5.0< i<=5.25 for i in b])) print(sum([5.25< i<=5.5 for i in b])) print(sum([5.5< i<=5.75 for i in b])) print(sum([5.75< i<=6.0 for i in b])) print(sum([6.0< i<=6.25 for i in b])) print(sum([6.25< i<=6.5 for i in b])) print(sum([6.5< i<=6.75 for i in b])) print(sum([6.75< i<=7.0 for i in b]))
2793 20241 29377 28729 26016 20051 14981 10860 7336 4578 3161 2053 1386 918 588 378 209 128 85 51 26 8 6 4 2 0 0 0
補足情報(FW/ツールのバージョンなど)
python3
jupyter notebook
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/11 08:10
2021/11/11 08:15
2021/11/11 08:31