質問編集履歴

1

プログラム挿入しました。よろしくお願いします。

2020/11/14 07:22

投稿

simpkins
simpkins

スコア5

test CHANGED
File without changes
test CHANGED
@@ -78,7 +78,63 @@
78
78
 
79
79
 
80
80
 
81
+ ```ここに言語を入力
81
82
 
83
+ import pandas as pd
84
+
85
+ import itertools
86
+
87
+ import numpy as np
88
+
89
+
90
+
91
+ csv = pd.read_csv('sample.csv', parse_dates=[0], index_col=0)
92
+
93
+
94
+
95
+ df=csv.resample('H').mean() #元のデータは30分刻みのデータなのでここで1時間ごとのデータにしています
96
+
97
+ #ここから下は全く同じ
98
+
99
+ def shuffle_days(df_month):
100
+
101
+ groups = [df for _, csv1 in df_month.groupby('D')]
102
+
103
+ random.shuffle(groups)
104
+
105
+ return pd.concat(groups).reset_index(drop=True)
106
+
107
+
108
+
109
+ df = df.reset_index()
110
+
111
+ df['Y'] = df['時間'].dt.year
112
+
113
+ df['M'] = df['時間'].dt.month
114
+
115
+ df['D'] = df['時間'].dt.day
116
+
117
+ df = df.groupby(['Y', 'M']).apply(shuffle_days)
118
+
119
+ df = df.drop(['Y', 'M', 'D'], axis=1).reset_index(drop=True)
120
+
121
+
122
+
123
+ print(df)
124
+
125
+ ```
126
+
127
+ 一応csvファイルの時間の表記も載せておきます。元のデータはcsv上でこのような形式になっています。
128
+
129
+ |時間|data1|data2|
130
+
131
+ |:--|:--:|--:|
132
+
133
+ |2015/4/1 1:00:00|1|10|
134
+
135
+ |2015/4/1 2:00:00|2|20|
136
+
137
+ |:|:|:|
82
138
 
83
139
  ### 補足情報(FW/ツールのバージョンなど)
84
140