从单行pandas DataFrame中提取值

时间:2015-07-21 10:42:56

标签: python pandas

我有一个关系数据库格式的数据集(通过各种.csv文件的ID链接)。

我知道每个数据框只包含一个ID值,我想知道从该行中提取值的最简单方法。

我现在在做什么:

# the group has only one element
purchase_group = purchase_groups.get_group(user_id)
price = list(purchase_group['Column_name'])[0]

第三排困扰我,因为它看起来很难看,但我不确定解决方法是什么。分组(我猜)假设可能有多个值并返回一个<class 'pandas.core.frame.DataFrame'>对象,而我只想返回一行。

3 个答案:

答案 0 :(得分:12)

如果你只想要值而不是df / series,那么请调用values并索引第一个元素[0],只需:

price = purchase_group['Column_name'].values[0]

会奏效。

答案 1 :(得分:1)

这种方法很直观;例如,从数据框中获取值的第一行(列表列表中的列表):

np.array(df)[0]

答案 2 :(得分:0)

如果purchase_group仅具有一行,那么执行purchase_group = purchase_group.squeeze()会将其分成一系列,因此您只需调用purchase_group['Column_name']即可获取值