Команда ниже работает нормально
idx = np.asarray(df.loc[df['lat1'] != '.'].ix[:,0].index)
, но я пытаюсь сделать что-то вроде этого (с 2 условиями):
idx = np.asarray(df.loc[df['lat1'] != '.' and df['state'] == df['state'][0]].ix[:,0].index)
Это приводит к следующей трассировке:
Traceback (most recent call last):
File "<ipython-input-274-c07cda0be195>", line 1, in <module>
idx = np.asarray(df.loc[df['lat1'] != '.' and df['state'] == df['state'][0]].ix[:,0].index)
File "/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py", line 1573, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Я посмотрел, но не смог найти подходящую настройку для этого случая.Любые выводы будут оценены.
[РЕДАКТИРОВАТЬ]: На основании приведенного ниже предложения, когда я пытаюсь это сделать:
df[(df['lat1']!='.') & (df['state']== df['state'][0])]
Я получаю
lat1 long1 ... state county
5 34 11 ... AK Anchorage
7 1 -3 ... AK Anchorage
14 1 -5 ... AK Anchorage
30 7 -3 ... AK Anchorage
44 1 -4 ... AK Anchorage
47 1 -3 ... AK Anchorage
75 1 -4 ... AK Juneau
82 5 -1 ... AK Kenai Peninsula
102 4 -1 ... AK Fairbanks North Star
106 4 -1 ... AK Matanuska Susitna
137 3 -3 ... AK Matanuska Susitna
[11 rows x 5 columns]
Как извлечь только первый столбец, содержащийиндексы?