python - 如何在熊猫中按日期边界从文本文件中选择行?
问题描述
我有这个输入文件: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_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')
推荐阅读
- ios - 试图使 UIButton 成为一个圆圈
- apache-camel - Apache Camel:使用其多参数构造函数实例化一个类
- swift - 在 SwiftUI 中的兄弟姐妹之间从父级共享状态
- android - Poco C++ 安卓 JNI
- java - 查找第一个元素大于或等于最后一个元素且子数组大小等于 X 的子数组
- java - 无效的方法声明需要返回类型,Java 控制器方法
- python - 如何获取当前的“包”名称?(设置.py)
- php - 如何使用 ClassMetadataBuilder 从 Doctrine PHP 映射生成实体
- c# - 如何将变量插入 Razor (cshtml) 中的 SQL 语句?
- python - 在循环中向熊猫数据框添加值