質問編集履歴

4

change title

2017/08/03 06:25

投稿

tf23yh8df3
tf23yh8df3

スコア60

test CHANGED
@@ -1 +1 @@
1
- pandas で事業年度毎に groupbyしたい
1
+ pandas で YYYY-03-01 から (YYYY+1)-02-29 を YYYY 年度てまとめたい
test CHANGED
@@ -1,4 +1,4 @@
1
- # YYYY-03-01から(YYYY+1)-02-29をYYY年度としてまとめたい
1
+ ###
2
2
 
3
3
  - 2010-03-01 から 2011-02-29
4
4
 

3

fix table

2017/08/03 06:25

投稿

tf23yh8df3
tf23yh8df3

スコア60

test CHANGED
File without changes
test CHANGED
@@ -6,47 +6,37 @@
6
6
 
7
7
 
8
8
 
9
- ## hoge.csv
9
+ #### (理想)
10
+
11
+ | | a | b |
12
+
13
+ | :---: | :---: | :---: |
14
+
15
+ | 2010 | 8 | 23 |
16
+
17
+ | 2011 | 15 | 30 |
10
18
 
11
19
 
12
20
 
13
- |ymd|a|b|
21
+ #### 元データ
14
-
15
- |:--|:--:|--:|
16
-
17
- |2010-03-01|1|6|
18
-
19
- |2010-06-30|2|7|
20
-
21
- |2010-10-30|3|8|
22
-
23
- |2011-02-29|4|9|
24
-
25
- |2012-06-30|5|10|
26
22
 
27
23
 
28
24
 
29
- # 理想
25
+ | ymd | a | b |
30
26
 
27
+ | :-- | :--: | --: |
31
28
 
29
+ | 2010-03-01 | 1 | 6 |
32
30
 
33
- ```python
31
+ | 2011-01-02 | 3 | 8 |
34
32
 
35
- df = pd.read_csv("hoge.csv", parse_dates=['ymd'],index_col=0)
33
+ | 2011-02-29 | 4 | 9 |
36
34
 
37
- df.groupby().sum()
35
+ | 2012-04-30 | 5 | 10 |
38
36
 
37
+ | 2012-07-20 | 5 | 10 |
39
38
 
40
-
41
- # 2010年度のaは
42
-
43
- | 2010 | 10 |
39
+ | 2013-02-20 | 5 | 10 |
44
-
45
- | 2011 | xx |
46
-
47
- ...
48
-
49
- ```
50
40
 
51
41
 
52
42
 

2

A

2017/08/03 06:23

投稿

tf23yh8df3
tf23yh8df3

スコア60

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,19 @@
63
63
  df.groupby(df.index.year).sum()
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+ ## 直接指定すれば解決できる
70
+
71
+
72
+
73
+ - 自動化?したい
74
+
75
+
76
+
77
+ ```python
78
+
79
+ df['2010-03':'2011-02'].sum()
80
+
81
+ ```

1

add

2017/06/28 02:30

投稿

tf23yh8df3
tf23yh8df3

スコア60

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,10 @@
3
3
  - 2010-03-01 から 2011-02-29
4
4
 
5
5
  - 2010年度
6
+
7
+
8
+
9
+ ## hoge.csv
6
10
 
7
11
 
8
12
 
@@ -28,6 +32,8 @@
28
32
 
29
33
  ```python
30
34
 
35
+ df = pd.read_csv("hoge.csv", parse_dates=['ymd'],index_col=0)
36
+
31
37
  df.groupby().sum()
32
38
 
33
39
 
@@ -41,3 +47,19 @@
41
47
  ...
42
48
 
43
49
  ```
50
+
51
+
52
+
53
+ ## 年別は以下で可能
54
+
55
+
56
+
57
+ - `YYYY0101` から `YYYY1231` の区間で集計している?
58
+
59
+
60
+
61
+ ```python
62
+
63
+ df.groupby(df.index.year).sum()
64
+
65
+ ```