回答編集履歴

1

回答方法の追加

2020/01/02 15:43

投稿

frederick_1974
frederick_1974

スコア303

test CHANGED
@@ -23,3 +23,35 @@
23
23
  print('B列の最大値は、',x,'で、その時のD列の値は、',y,'です。')
24
24
 
25
25
  ```
26
+
27
+ ただ、これだと最大値が複数行に存在する場合(B列をA列に変更した場合など)に対応できないので、
28
+
29
+ ```Python
30
+
31
+ import pandas as pd
32
+
33
+
34
+
35
+ df = pd.read_csv('sample.csv', names=['A', 'B', 'C', 'D', 'E', 'F'])
36
+
37
+ x = (df['B'].max())
38
+
39
+
40
+
41
+ # xが存在する行名をリストで取得
42
+
43
+ results = list(df.query('B == @x').index)
44
+
45
+
46
+
47
+ for result in results:
48
+
49
+ # 行名とD列で値を特定
50
+
51
+ y = df.at[result,'D']
52
+
53
+ print('B列の最大値は、',x,'で、その時のD列の値は、',y,'です。')
54
+
55
+ ```
56
+
57
+ としてみるとか。B列をA列に変えると、「最大値は…」が2回出力されますが。