Удаление определенных строк файла CSV в Python - PullRequest
0 голосов
/ 22 мая 2018

У меня есть файл CSV, и я хочу удалить некоторые его строки, основываясь на значениях одного из столбцов.Я не знаю соответствующего кода для удаления определенных строк файла CSV, который имеет тип pandas.core.frame.DataFrame.

Я читаю связанные вопросы, и я обнаружил, что люди предлагают написать каждую строку, которая является приемлемой в новомфайл.Я не хочу этого делать.Вот что мне нужно:

1) удалить строки, по которым я знаю их индекс (номер строки)

или

2), чтобы создатьновый CSV в памяти питона (не писать и снова читать)

1 Ответ

0 голосов
/ 22 мая 2018

Вот пример того, что вы можете сделать с pandas.Если вам нужно больше подробностей, вы можете найти Индексирование и выбор данных полезным ресурсом.

import pandas as pd
from io import StringIO

mystr = StringIO("""speed,time,date
12,22:05,1
15,22:10,1
13,22:15,1""")

# replace mystr with 'file.csv'
df = pd.read_csv(mystr)

# convert time column to timedelta, assuming mm:ss
df['time'] = pd.to_timedelta('00:'+df['time'])

# filter for >= 22:10, i.e. second item
df = df[df['time'] >= df['time'].loc[1]]

print(df)

   speed     time  date
1     15 00:22:10     1
2     13 00:22:15     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...