我有一个CSV文件,我想根据其中一列的值删除它的一些行。我不知道删除类型为pandas.core.frame.DataFrame
的CSV文件的特定行的相关代码。
我读了相关的问题,我发现人们建议写一个新文件中可接受的每一行。我不想那样做。我想要的是:
1)删除我知道它们的索引的行(行数)
或
2)在python的内存中创建一个新的CSV(不要写,再读一遍)
答案 0 :(得分:0)
以下是您使用pandas
可以执行的操作的示例。如果您需要更多详细信息,可能会发现Indexing and Selecting Data是一个有用的资源。
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