【发布时间】:2016-08-11 04:54:58
【问题描述】:
我需要使用 pandas 数据框从 .csv 文件中删除各种日期(mm-dd-yy、mm/dd/yyyy、dd.mm.yy、dd-Mon-yyyy 等)。过滤方法能有用吗?
for col in df.columns.values:
pd.filter(regex = '(([1-9]|1[012])[-/.]([1-9]|[12][0-9]|3[01])[-/.](19|20)\d\d)|((1[012]|0[1-9])(3[01]|2\d|1\d|0[1-9])(19|20)\d\d)|((1[012]|0[1-9])[-/.](3[01]|2\d|1\d|0[1-9])[-/.](19|20)\d\d)')
例如:如果我有一个 .csv 文件,其中包含一些数据和日期,例如 10/12/2015、12/01/1995、2016-19-04、19th April,2016 等,则输出文件不得包含任何日期。
数据样本
column1 column2 column3
data 4th April,2016 data
4/20/2016 20-04-16 20.04.2016
data data 20-04-2016
4-Apr-16 data 20/04/2016
如您所见,我在这里有各种日期格式。我需要将它们全部删除。
【问题讨论】:
-
请尝试一下
-
for col in df.columns.values: pd.filter(regex = '(([1-9]|1[012])[-/.]([1-9]|[ 12][0-9]|3[01])[-/.](19|20)\d\d)|((1[012]|0[1-9])(3[01]|2 \d|1\d|0[1-9])(19|20)\d\d)|((1[012]|0[1-9])[-/.](3[01]| 2\d|1\d|0[1-9])[-/.](19|20)\d\d)')
-
但这会抛出 AttributeError: 'module' object has no attribute 'filter'
-
抱歉,我是 python 新手,才刚刚开始探索
-
好的,您可以添加数据框样本(5-6 行)和所需的输出吗?其他数据为
string、float、int?
标签: regex python-2.7 pandas