Удаление вкладки каждый n-й столбец из панд df

Я пытаюсь получить доступ к столбцу фрейма данных, который я создал из двух списков, и выполнить некоторую фильтрацию. Однако, кажется, есть дополнительное место для каждого 12-го элемента в моем фрейме данных. Как мне с этим бороться?

import pandas as pd

df = pd.DataFrame(
    {'S': s,
     'K': k})

Я создал фрейм данных с кодом, как указано выше. Кроме того, по какой-то странной причине он был сохранен в научной нотации с типом float. Я использовал df.round(4), прежде чем смог понять, в чем проблема.


KeyError                                  Traceback (most recent call last)
<ipython-input-14-2e289598b460> in <module>()
----> 1 df[df['S']]

~\Anaconda\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   1956         if isinstance(key, (Series, np.ndarray, Index, list)):
   1957             # either boolean or fancy integer index
-> 1958             return self._getitem_array(key)
   1959         elif isinstance(key, DataFrame):
   1960             return self._getitem_frame(key)

~\Anaconda\lib\site-packages\pandas\core\frame.py in _getitem_array(self, key)
   2000             return self.take(indexer, axis=0, convert=False)
   2001         else:
-> 2002             indexer = self.loc._convert_to_indexer(key, axis=1)
   2003             return self.take(indexer, axis=1, convert=True)
   2004 

~\Anaconda\lib\site-packages\pandas\core\indexing.py in _convert_to_indexer(self, obj, axis, is_setter)
   1229                 mask = check == -1
   1230                 if mask.any():
-> 1231                     raise KeyError('%s not in index' % objarr[mask])
   1232 
   1233                 return _values_from_object(indexer)

KeyError: '[-0.65 -0.6  -0.6  -0.6  -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.5  -0.5\n -0.5  -0.5  -0.5  -0.5  -0.5  -0.5  -0.45 -0.45 -0.45 -0.45 -0.45 -0.45\n -0.45 -0.45 -0.45 -0.45 -0.4  -0.4  -0.4  -0.4  -0.4  -0.4  -0.4  -0.4\n -0.4  -0.4  -0.4  -0.4  -0.35 -0.35 -0.35 -0.35 -0.35 -0.35 -0.35 -0.35\n -0.35 -0.35 -0.35 -0.35 -0.35 -0.35 -0.3  -0.3  -0.3  -0.3  -0.3  -0.3\n -0.3  -0.3  -0.3  -0.3  -0.3  -0.3  -0.3  -0.3  -0.3  -0.3  -0.25 -0.25\n -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25 -0.25\n -0.25 -0.25 -0.25 -0.25 -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2\n -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.2  -0.15\n -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15\n -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.15 -0.1  -0.1  -0.1  -0.1  -0.1\n -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1  -0.1\n -0.1  -0.1  -0.1  -0.1  -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05\n -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05 -0.05\n -0.05 -0.05  0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.\n  0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.\n  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05\n  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05  0.05\n  0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1\n  0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1\n  0.1   0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15\n  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15  0.15\n  0.15  0.15  0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2\n  0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2   0.2\n  0.2   0.2   0.2   0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25\n  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25  0.25\n  0.25  0.25  0.25  0.25  0.25  0.3   0.3   0.3   0.3   0.3   0.3   0.3\n  0.3   0.3   0.3   0.3   0.3   0.3   0.3   0.3   0.3   0.3   0.3   0.3\n  0.3   0.3   0.3   0.3   0.3   0.3   0.35  0.35  0.35  0.35  0.35  0.35\n  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.35\n  0.35  0.35  0.35  0.35  0.35  0.35  0.35  0.4   0.4   0.4   0.4   0.4\n  0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4\n  0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.4   0.45  0.45  0.45  0.45\n  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45\n  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.45  0.5   0.5   0.5\n  0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5\n  0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.5   0.55  0.55  0.55\n  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55\n  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.55  0.6   0.6   0.6   0.6\n  0.6   0.6   0.6   0.6   0.6   0.6   0.6   0.6   0.6   0.6   0.6   0.6\n  0.6   0.6   0.6   0.6   0.6   0.6   0.65  0.65  0.65  0.65  0.65  0.65\n  0.65  0.65  0.65  0.65  0.65  0.65  0.65  0.65  0.65  0.65  0.65  0.65\n  0.65  0.65  0.65  0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7\n  0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.7   0.75\n  0.75  0.75  0.75  0.75  0.75  0.75  0.75  0.75  0.75  0.75  0.75  0.75\n  0.75  0.75  0.75  0.75  0.75  0.8   0.8   0.8   0.8   0.8   0.8   0.8\n  0.8   0.8   0.8   0.8   0.8   0.8   0.8   0.8   0.8   0.8   0.85  0.85\n  0.85  0.85  0.85  0.85  0.85  0.85  0.85  0.85  0.85  0.85  0.85  0.85\n  0.85  0.9   0.9   0.9   0.9   0.9   0.9   0.9   0.9   0.9   0.9   0.9\n  0.9   0.9   0.95  0.95  0.95  0.95  0.95  0.95  0.95  0.95  0.95  0.95\n  0.95  1.    1.    1.    1.    1.    1.    1.    1.    1.    1.05  1.05\n  1.05  1.05  1.05  1.05  1.1   1.1   1.1   1.1   1.15  1.3   1.3   1.3\n  1.3   1.3   1.35  1.35  1.35  1.35  1.35  1.35  1.35  1.35  1.35  1.35\n  1.4   1.4   1.4   1.4   1.4   1.4   1.4   1.4   1.4   1.4   1.4   1.4\n  1.45  1.45  1.45  1.45  1.45  1.45  1.45  1.45  1.45  1.45  1.45  1.45\n  1.45  1.45  1.45  1.45  1.45] not in index'

1 ответ

Вы можете попробовать удалить каждый \n в S вот так:

df["S"] = df["S"].apply(lambda x: float(str(x).replace("\n", "")))

Но, кстати: df[df["S"]] будет искать значения S в указателе. С вашей конструкцией dataframe, вероятно, не будет никакого значения S в указателе.

Другие вопросы по тегам