回答編集履歴

1

追記

2022/06/19 12:04

投稿

can110
can110

スコア38266

test CHANGED
@@ -8,3 +8,18 @@
8
8
  print(df.at[1,'0.86']) # 4
9
9
  print(df.at[1,0.8600]) # keyError: 0.86
10
10
  ```
11
+ # 追記
12
+
13
+ 列名の型は`float`なのに`.at`では(提示コードとは異なり?)文字型の`0.86`を指定していると思われます。
14
+ `float`型で指定すると取得できると思われます。
15
+ ```Python
16
+ import pandas as pd
17
+
18
+ df = pd.DataFrame({'oil_temp':[1,2,3], 0.86:[4,6,8]})
19
+ df = df.set_index('oil_temp', drop=True)
20
+
21
+ density = '0.86' #本来は関数の引数で指定の予定
22
+ print(df.at[1,float(density)]) # 4
23
+ print(df.at[1,density]) # KeyError: '0.86'
24
+ ```
25
+