for 循环计数每月总计 python
for loop count monthly total python
我有一个数据,这里有一些日期时间。
像这样:
datetime
2022-01-01
2022-02-01
2022-02-01
2022-03-01
2022-03-01
2022-03-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
我需要计算每月的总数,所以我做了这样的事情
我的代码是:
df = pd.read_csv('example.csv')
example_per_month = []
for a in range(1,6):
example = {}
example[str(a)] = len(df[(df['datetime'] >= '2022-0'+str(a)+'-01')&(df['datetime'] <= '2022-0'+str(a)+'-31'))])
example_per_month.append(example)
print(example_per_month)
而她是我的输出:
[{'1':1},{'2':2},{'3':3},{'4':9},{'5':14}]
但我现在需要逐月的总数。
预期输出:
[{'1':1},{'2':3},{'3':6},{'4':15},{'5':29}]
提前致谢
这不是您想要的确切解决方案,但希望这能帮助您找到解决方案
values = [{'1':10},{'2':20},{'3':30},{'4':9},{'5':14},{'6':37}]
loop = 1
total = 0
for val in values:
total += val[str(loop)]
val[str(loop)] = total
print(val[str(loop)])
loop += 1
print(total)
“我需要计算每月总数,所以我做了这样的事情”。我将其解释为要求计算任何给定月份发生的日期数。
完全不需要pandas这样的重量级模块
FILENAME = 'foo.txt'
counter = {}
with open(FILENAME) as csv:
next(csv) # skip header
for line in csv:
mm = line[5:7].lstrip('0')
counter[mm] = counter.get(mm, 0) + 1
print(counter)
输出:
{'1': 1, '2': 2, '3': 3, '4': 9, '5': 15}
我有一个数据,这里有一些日期时间。
像这样:
datetime
2022-01-01
2022-02-01
2022-02-01
2022-03-01
2022-03-01
2022-03-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-04-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
2022-05-01
我需要计算每月的总数,所以我做了这样的事情
我的代码是:
df = pd.read_csv('example.csv')
example_per_month = []
for a in range(1,6):
example = {}
example[str(a)] = len(df[(df['datetime'] >= '2022-0'+str(a)+'-01')&(df['datetime'] <= '2022-0'+str(a)+'-31'))])
example_per_month.append(example)
print(example_per_month)
而她是我的输出:
[{'1':1},{'2':2},{'3':3},{'4':9},{'5':14}]
但我现在需要逐月的总数。
预期输出:
[{'1':1},{'2':3},{'3':6},{'4':15},{'5':29}]
提前致谢
这不是您想要的确切解决方案,但希望这能帮助您找到解决方案
values = [{'1':10},{'2':20},{'3':30},{'4':9},{'5':14},{'6':37}]
loop = 1
total = 0
for val in values:
total += val[str(loop)]
val[str(loop)] = total
print(val[str(loop)])
loop += 1
print(total)
“我需要计算每月总数,所以我做了这样的事情”。我将其解释为要求计算任何给定月份发生的日期数。
完全不需要pandas这样的重量级模块
FILENAME = 'foo.txt'
counter = {}
with open(FILENAME) as csv:
next(csv) # skip header
for line in csv:
mm = line[5:7].lstrip('0')
counter[mm] = counter.get(mm, 0) + 1
print(counter)
输出:
{'1': 1, '2': 2, '3': 3, '4': 9, '5': 15}