Pandas keyerror при удалении значения из столбца - PullRequest
0 голосов
/ 04 ноября 2018

Я новичок в Python и получаю сообщение об ошибке при попытке удалить значения из столбца в панде dataframe. Я продолжаю получать Keyerror через некоторое время. Вот фрагмент кода:

for i in data['FilePath'].keys():
if '.' not in data['FilePath'][i]:
    value = data['FilePath'][i]
    data = data[data['FilePath'] != value]

Я продолжаю получать Keyerror рядом со строкой «если». не в данных ['FilePath'] [i] ". Пожалуйста, помогите мне исправить эту ошибку

1 Ответ

0 голосов
/ 04 ноября 2018

Если я правильно понимаю вашу логику, то вы сможете сделать это без цикла. Из того, что я вижу, похоже, что вы хотите удалить строки, если столбец FilePath не начинается с .. Если это правильно, то ниже приведен один из способов сделать это:

Создание примера данных с использованием вложенного списка

d = [
    ['BytesAccessed','FilePath','DateTime'],
    [0, '/lib/x86_64-linux-gnu/libtinfo.so.5 832.0', '[28/Jun/2018:11:53:09]'], 
    [1, './lib/x86-linux-gnu/yourtext.so.6 932.0', '[28/Jun/2018:11:53:09]'],
    [2, '/lib/x86_64-linux-gnu/mytes0', '[28/Jun/2018:11:53:09]'],
    ]
data = pd.DataFrame(d[1:], columns=d[0])
print(data)

   BytesAccessed                                   FilePath                DateTime
0              0  /lib/x86_64-linux-gnu/libtinfo.so.5 832.0  [28/Jun/2018:11:53:09]
1              1    ./lib/x86-linux-gnu/yourtext.so.6 932.0  [28/Jun/2018:11:53:09]
2              2               /lib/x86_64-linux-gnu/mytes0  [28/Jun/2018:11:53:09]

Отфильтрованные данные для удаления строк, которые не содержат . в любом месте в столбце FilePath

data_filtered = (data.set_index('FilePath')
                    .filter(like='.', axis=0)
                    .reset_index())[data.columns]
print(data_filtered)

   BytesAccessed                                   FilePath                DateTime
0              0  /lib/x86_64-linux-gnu/libtinfo.so.5 832.0  [28/Jun/2018:11:53:09]
1              1    ./lib/x86-linux-gnu/yourtext.so.6 932.0  [28/Jun/2018:11:53:09]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...