我需要使用一个DataFrame作为查找表,用于不是索引的列。例如(这只是一个简单的例子,仅用于说明):
import pandas as pd
westcoast = pd.DataFrame([['Washington','Olympia'],['Oregon','Salem'],
['California','Sacramento']],
columns=['state','capital'])
print westcoast
state capital
0 Washington Olympia
1 Oregon Salem
2 California Sacramento
查找并获取一个Series作为输出非常简单:
westcoast[westcoast.state=='Oregon'].capital
1 Salem
Name: capital, dtype: object
但我想获得字符串“Salem”:
westcoast[westcoast.state=='Oregon'].capital.values[0]
'Salem'
而且.values[0]
看起来有些笨重...有更好的方法吗?
顺便说一句:我的真实数据最多可能有50行,但列数很多,所以如果我设置一个索引列,无论选择哪一列,都会有像这样的查找操作,它不是基于索引的,相对较少的行数意味着我不在乎它是否是O(n)查找。