回答編集履歴
1
追記
    
        answer	
    CHANGED
    
    | @@ -7,4 +7,18 @@ | |
| 7 7 |  | 
| 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 | 
            +
            ```
         | 
