Python 如何按熊猫中的日期边界从文本文件中选择行?

Python 如何按熊猫中的日期边界从文本文件中选择行?,python,pandas,file,datetime,between,Python,Pandas,File,Datetime,Between,我有这个输入文件: temp2.txt: 82.0 1 77 918 12/04/13 47.0 1 77 9399 19/06/13 39.0 1 77 4522 07/07/14 52.0 1 77 504 13/05/14 我只想将日期介于a和b之间的行从temp2.txt复制到output\u file.txt 我写了这段代码: import pandas

我有这个输入文件: temp2.txt:

82.0    1   77  918     12/04/13        
47.0    1   77  9399    19/06/13        
39.0    1   77  4522    07/07/14        
52.0    1   77  504     13/05/14    
我只想将日期介于a和b之间的行从
temp2.txt
复制到
output\u file.txt

我写了这段代码:

import pandas as pd

    a = "01/01/2013"
    b = "31/12/2013"

    df = pd.read_csv('temp2.txt', header=None, sep='\s+')
    df['tmp'] = pd.to_datetime(df[4], errors='coerce')

    df['tmp'] = df['tmp'].between(a, b, inclusive=True)

    df.drop('tmp', axis=1, inplace=True)
    df.to_csv('output_file.txt', header=False, index=False, sep='\t')
但它似乎对我不起作用,我得到了所有的线路,而不是我想要的2条线路。
我做错了什么?

请用这个替换
df.drop('tmp',axis=1,inplace=True)

df = df.loc[df['tmp']]
所以整个代码是:

import pandas as pd

a = "01/01/2013"
b = "31/12/2013"

df = pd.read_csv('temp2.txt', header=None, sep='\s+')
df['tmp'] = pd.to_datetime(df[4], errors='coerce')

df['tmp'] = df['tmp'].between(a, b, inclusive=True)

df = df.loc[df['tmp']]
df.to_csv('output_file.txt', header=False, index=False, sep='\t')

您没有使用
df['tmp']
来过滤数据帧。。。您正在创建列,然后立即删除它,然后只写下您的原始df。。。您需要这样的内容:
m=pd\u to_datetime(df[4],errors='concurve')。介于(a,b,inclusive=True)
之间,这样您就得到了一个布尔掩码,而无需创建新列,然后使用它来过滤输出行,
df[m]。to_csv(…)
。。。