我在分析美国的轮询数据,具体来说,我试图找出哪些国家是安全的,边缘的或者紧密的('紧密度')。我有一个调查结果的时间和他们的“亲密度”的数据框。我正在使用熊猫的声明来获得“亲密”条目的摘要。从熊猫系列中选择行是阵列的行
s=self.daily.groupby('State')['closeness'].unique()
这给我这个系列(选择为简洁起见示出):
State
AK [safe]
AL [safe]
CA [safe]
CO [safe, tight, marginal]
FL [marginal, tight]
IA [safe, tight, marginal]
ID [safe]
IL [safe]
IN [tight, safe]
Name: closeness, dtype: object
的行是类型的阵列,因此,例如,s[0]
给出:
array(['safe'], dtype=object)
我试图从这个系列中进行选择,但是我无法正确地理解语法。例如,我想用这个语法只需选择“安全”的国家:
ipdb> s[s == 'safe']
*** ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
这不起作用或者:
test[test == ['safe'])
这是我想要做什么:选择“边际”或“紧张”的国家,选择“安全”且仅“安全”的国家等等。有没有人对我应该使用的语法有所了解,或者首先有更好的方法?
============ 这里的数据GROUPBY前一个样本:
ipdb> self.daily.head(3)
Date Democratic share Margin Method Other share \
0 2008-11-04 0.378894 -0.215351 Election 0.026861
1 2008-11-04 0.387404 -0.215765 Election 0.009427
2 2008-11-04 0.388647 -0.198512 Election 0.024194
Republican share State closeness winner
0 0.594245 AK safe Republican
1 0.603169 AL safe Republican
你可以在做'groupby'之前发布样本数据吗? – shivsn
谢谢shivsn - 添加样本到问题 –