关于pandas:在python中删除特定的CSV文件行

Deleting specific rows of CSV file in python

我有一个csv文件,我想根据其中一列的值删除其中的一些行。我不知道删除类型为pandas.core.frame.DataFrame的csv文件的特定行的相关代码。

我读了相关的问题,我发现人们建议在新文件中写下每一行可以接受的内容。我不想那样做。我想要的是:

1)删除我知道其索引的行(行数)

2)在python内存中创建一个新的csv(不要写,然后再读)


下面是一个您可以用pandas做什么的例子。如果您需要更多的细节,您可能会发现索引和选择数据是一个有用的资源。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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