我需要 return 来自数据框单元格的值作为变量而不是系列

i need to return a value from a dataframe cell as a variable not a series

我有以下问题:

当我使用 .loc 函数时,它 returns 一个 series 而不是没有 index 的单个 value。 因为我需要对选定的单元格进行一些数学运算。我正在使用的功能是:

import pandas as pd
 

data = [[82,1], [30, 2], [3.7, 3]]
 
df = pd.DataFrame(data, columns = ['Ah-Step', 'State'])
df['Ah-Step'].loc[df['State']==2]+ df['Ah-Step'].loc[df['State']==3]

.values[0] 会按照 OP 的要求去做。

假设要获取值30,下面将完成工作

df.loc[df['State'] == 2, 'Ah-Step'].values[0]

print(df)

[Out]: 30.0

因此,在 OP 的特定情况下,操作 30+3.7 可以按如下方式完成

df.loc[df['State'] == 2, 'Ah-Step'].values[0] + df['Ah-Step'].loc[df['State']==3].values[0]

[Out]: 33.7