从单行pandas DataFrame中提取值

mtt*_*ttk 7 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]
Run Code Online (Sandbox Code Playgroud)

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

EdC*_*ica 21

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

price = purchase_group['Column_name'].values[0]
Run Code Online (Sandbox Code Playgroud)

将工作.

  • 这是我倾向于使用的,但我必须说它仍然感觉有点笨重。 (2认同)

jes*_*WUT 9

迟到了,但purchase_group['Column Name'].item()现在可用,并且比其他一些解决方案更干净


Yes*_*esh 5

如果purchase_group有单行,那么这样做purchase_group = purchase_group.squeeze()会使其成为一个系列,这样您就可以简单地调用purchase_group['Column_name']以获取您的值