我需要 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
我有以下问题:
当我使用 .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