python - 从 Pandas 数据框中仅提取一个字符串元素

标签 python list names

好吧,假设我有一个 pandas 数据框 x,我有兴趣从中提取一个值:

> x.loc[bar==foo]['variable_im_interested_in']

假设返回以下类型的 pandas.core.series.Series:

24    Boss
Name: ep_wb_ph_brand, dtype: object

但我想要的只是字符串“Boss”。将第一行代码包装在 str() 中也无济于事,我只是得到:

'24    Boss\nName: ep_wb_ph_brand, dtype: object'

如何提取字符串?

最佳答案

根据您的评论,此代码返回长度为 1 的 Pandas 系列:

x.loc[bar==foo]['variable_im_interested_in']

如果您将此值分配给一个变量,那么您只需访问第 0 个元素即可获得您要查找的内容:

my_value_as_series = x.loc[bar==foo]['variable_im_interested_in']

# Assumes the index to get is number 0, but from your example, it might
# be 24 instead.
plain_value = my_value_as_series[0]

# Likewise, this needs the actual index value, not necessarily 0.
also_plain_value = my_value_as_series.ix[0]

# This one works with zero, since `values` is a new ndarray.
plain_value_too = my_value_as_series.values[0]

没有分配给变量来执行此操作,因此您可以编写 x.loc[bar==foo]['variable_im_interested_in'][0](或其他选项类似),但将越来越多的访问器和奇特的索引语法塞进单个表达式通常不是一个好主意。

另请注意,您可以在对 loc 的调用中直接索引感兴趣的列:

x.loc[bar==foo, 'variable_im_interested_in'][24]

关于python - 从 Pandas 数据框中仅提取一个字符串元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28732745/

相关文章:

重命名嵌套列表 R

r - 数据框中的列名丢失

python - 我如何通过 python 方式使用 opencv 在图像中找到篮球?

python - 用于此目的的 Django ORM 查询

python - 使用 beautiful soup 基于类隔离 'td a' 标签

java - Android 检查 Arraylist 是否包含另一个 Arraylist?

java - 如何使用另一个列表的项目来初始化列表?

java - 你如何将 "compress"列出来?

python - python函数中局部变量的引用计数何时减少?

在 R 中读取具有重复行名称的 csv 文件