В python3 и pandas у меня есть этот dataframe:
nao_eleitos.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1549 entries, 5 to 5174
Data columns (total 15 columns):
SG_UF 1549 non-null object
DS_CARGO 1549 non-null object
SQ_CANDIDATO 1549 non-null object
NM_CANDIDATO 1549 non-null object
NM_URNA_CANDIDATO 1549 non-null object
NR_CPF_CANDIDATO 1549 non-null object
SG_PARTIDO 1549 non-null object
DT_NASCIMENTO 1549 non-null object
NR_IDADE_DATA_POSSE 1549 non-null int64
NR_TITULO_ELEITORAL_CANDIDATO 1549 non-null object
DS_GENERO 1549 non-null object
DS_SIT_TOT_TURNO 1549 non-null object
QT_VOTOS_NOMINAIS 1549 non-null int64
VR_RECEITA_FUNDOS 1549 non-null float64
custo_por_voto 1549 non-null float64
dtypes: float64(2), int64(2), object(11)
memory usage: 193.6+ KB
Столбец "custo_por_voto" имеет денежные значения.Мне нужно отфильтровать значения, большие или равные 1 904
nao_eleitos[['custo_por_voto']].head()
custo_por_voto
1.9940
3.6092
35,500.0000
1.1461
30,000.0000
Поэтому я попытался отфильтровать, используя переменную boolean:
seleciona = nao_eleitos['custo_por_voto'] >= 1,904
valores_altos = nao_eleitos[seleciona]
Но у меня была эта ошибка:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-87-ffe42c00da2f> in <module>
1 seleciona = nao_eleitos['custo_por_voto'] >= 1,904
2
----> 3 valores_altos = nao_eleitos[seleciona]
~/Documentos/Code/laranjas/lib/python3.6/site-packages/pandas/core/frame.py in __getitem__(self, key)
2925 if self.columns.nlevels > 1:
2926 return self._getitem_multilevel(key)
-> 2927 indexer = self.columns.get_loc(key)
2928 if is_integer(indexer):
2929 indexer = [indexer]
~/Documentos/Code/laranjas/lib/python3.6/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2654 'backfill or nearest lookups')
2655 try:
-> 2656 return self._engine.get_loc(key)
2657 except KeyError:
2658 return self._engine.get_loc(self._maybe_cast_indexer(key))
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
TypeError: '(5 True
6 True
7 True
8 True
10 True
11 True
27 True
28 True
34 False
35 True
37 True
40 True
47 True
51 True
52 True
55 True
57 True
61 True
62 True
67 True
73 True
77 True
84 True
86 False
88 True
89 True
91 False
92 False
94 True
98 True
...
5065 True
5067 True
5070 True
5074 False
5081 True
5084 True
5098 True
5099 True
5100 True
5104 True
5107 True
5111 True
5112 True
5113 True
5114 False
5123 False
5126 True
5136 True
5147 False
5149 True
5150 True
5155 True
5158 True
5162 True
5166 True
5167 True
5168 True
5170 True
5172 True
5174 True
Name: custo_por_voto, Length: 1549, dtype: bool, 904)' is an invalid key
Это условное выражение приводит к логической переменной, которая имеет значение True, когда значение> = 1,904, верно?Ложь в противном случае
После этого мы можем использовать эту логическую переменную для фильтрации кадра данных
Пожалуйста, кто-нибудь знает причину ошибки?Или лучший способ фильтрации?