我有日期列表,如何计算个别季度1Q2015 2Q2015 3Q2015 4Q2015 1Q2016 2Q2016 3Q2016 4Q2016 1Q2017 2Q2017
list of data
10 1Q2016
11 1Q2017
12 1Q2015
13 1Q2016
14 1Q2016
15 2Q2017
16 1Q2016
17 4Q2016
18 1Q2016
19 4Q2017
20 1Q2016
21 1Q2016
22 1Q2016
23 1Q2016
24 1Q2016
25 1Q2016
26 1Q2016
27 1Q2016
28 1Q2016
29 1Q2016
...
53 2Q2016
54 2Q2015
55 2Q2016
56 2Q2016
57 2Q2017
58 2Q2016
59 2Q2016
如何将它们拆分为1Q2015 2Q2015 3Q2015 4Q2015 1Q2016 2Q2016 3Q2016 4Q2016 1Q2017 2Q2017
我是python的新手
它使用下面的代码
from collections import Counter
pidx2 = Counter((quarter))
答案 0 :(得分:0)
假设您的数据包含在文件(csv,txt或其他任何内容)中。然后计算单个关键字(例如:1Q2016
)在列表中出现的次数,您可能需要导入文件,然后像下面的代码段建议一样处理它:
文件内容:(data.txt)
10 1Q2016
11 1Q2017
12 1Q2015
13 1Q2016
14 1Q2016
15 2Q2017
16 1Q2016
17 4Q2016
18 1Q2016
19 4Q2017
20 1Q2016
21 1Q2016
22 1Q2016
23 1Q2016
24 1Q2016
25 1Q2016
26 1Q2016
27 1Q2016
28 1Q2016
29 1Q2016
53 2Q2016
54 2Q2015
55 2Q2016
56 2Q2016
57 2Q2017
58 2Q2016
59 2Q2016
计算发生事故的单位:
fileContainingData = 'data.txt' # PATH/TO/FILE/WITH/DATA
fHandle = open(fileContainingData, 'r')
dictData = {}
for line in fHandle.readlines():
# SPLIT THE LINE USING EMPTY SPACE AS DELIMITER
lParts = list(filter(lambda v: v.strip(),line.split(sep=" ")))
key = str(lParts[1]).strip("\n ")
if key not in dictData.keys():
dictData[key] = 1
else:
dictData[key] += 1
fHandle.close()
print(dictData)
# YIELDS:
# {
# '1Q2016': 15,
# '1Q2017': 1,
# '1Q2015': 1,
# '2Q2017': 2,
# '4Q2016': 1,
# '4Q2017': 1,
# '2Q2016': 5,
# '2Q2015': 1
# }
希望足够接近...... 干杯和好运; - )