现在我试图将csv的这个(子阵列)中任意列的给定日期范围内的条目数相加(总共有3个日期列,我希望能够查看任何列和相应的条目):
(标签:id,标签:发票编号,标签贴图日期,标签完成日期,标签:发票金额最后预约日期)
(label 1, Label 2, Label 3, label 4, label 5, label 6)
18565272, 3548587, 2015-12-30 16:30:00, 2017-01-18 4:01:00, 0, 11/30/2016
22909611, 2000404134, 2016-05-18 14:55:00, 2017-01-26 16:59:00, 0, NULL
21541501, 1166588, 2016-07-07 17:00:00, 2017-02-14 4:01:00, 84, 4/11/2016
1000141115,1429670, 2016-10-29 0:06:00, 2017-01-18 21:43:00, 49, 3/2/2016
我希望能够定义一个列,然后计算一个日期出现在一个范围内的次数 - 例如" 2016年1月1日至30日"。我对与此相关的方法并不熟悉(我的大多数python经验都在数值计算方面)。我目前有一些想法(使用pandas删除行中不包含给定条目的行,然后总结行数)但我正在寻找可能工作得更好的一些。 / p>
答案 0 :(得分:0)
尝试使用pandas。
import pandas as pd
df = pd.read_csv(your_file) # read the data
def date_range_counter(column, start_date, end_date)
dates_range = pd.date_range(start_date, end_date) # creates list of dates between start_date and end_date
arr = df[df[column].isin(dates_range)] # will only keep rows of the dataframe that have dates in the range specified
return len(arr)
对于start_date和end_date,您可以使用格式为“YYYY / MM / DD”的字符串,列输入应该是您要计算日期的列标签的字符串,例如“标签1”。