【发布时间】:2020-06-23 22:23:01
【问题描述】:
我在 pandas 中有这个数据框:
d=pandas.DataFrame([{"a": 1, "b": 1}, {"c": 2, "b": 4}])
d["name"] = ["Hello", "World"]
我想根据“名称”列中的字符串值选择一个元素,然后将值作为字符串获取。选择元素:
d[d["name"] == "World"]["name"]
Out:
1 World
Name: name
问题是它没有给出一个简单的字符串,而是一个系列。转换为字符串无济于事——我怎样才能从中得到字符串"World"?这是唯一的方法吗?
d[d["name"] == "World"]["name"].values[0]
谢谢。
【问题讨论】:
-
你能扩展一下你的例子吗?现在,您似乎正在将“World”放入并希望将“World”作为输出。
-
@DSM:是的,没错,但想象一下,我们没有使用“名称”,而是使用了不同的列名称,例如:
d[d["name"] == "World"]["other_name"]其中other_name是一个字符串列 -
那将是一个更好的例子。 :^) 但在一般情况下,不能保证只有一个匹配值,对吧?所以我怀疑结果将基本上类似于数组。您可以缩短语法——例如,使用
max或iget——但除此之外我不确定。也许海登会有一些聪明的东西..