回答編集履歴

1

d

2018/11/26 07:23

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -91,3 +91,51 @@
91
91
  ((1992, 2000, 2002, 2010), ('America', 'Japan', 'British', 'France'))
92
92
 
93
93
  ```
94
+
95
+
96
+
97
+ ## 追記
98
+
99
+
100
+
101
+ やってることはソートして値を取り出すということだと思いますが、コードが冗長で何をやっているのかわかりづらいです。
102
+
103
+ パット見で理解できないコードを書くのは避けたほうがよいかと思います。
104
+
105
+
106
+
107
+ pandas であれば、以下のようにすればよいと思います。
108
+
109
+
110
+
111
+ ```python
112
+
113
+ import pandas as pd
114
+
115
+
116
+
117
+ data = [[2000, 'Japan'],
118
+
119
+ [2000, 'America'],
120
+
121
+ [2010, 'British'],
122
+
123
+ [2002, 'France']]
124
+
125
+ df = pd.DataFrame(data, columns=['Year', 'Contry'])
126
+
127
+
128
+
129
+ # ソートした上で取り出す。
130
+
131
+ s_df = df.sort_values(['Year', 'Contry'])
132
+
133
+ print(s_df.Year.values)
134
+
135
+ # [2000 2000 2002 2010]
136
+
137
+ print(s_df.Contry.values)
138
+
139
+ # array(['America', 'Japan', 'France', 'British'], dtype=object)
140
+
141
+ ```