【发布时间】:2020-11-10 20:39:20
【问题描述】:
我正在努力在数据框中构建一个附加列,该列是一个时间段内两行的总和。附上一张图片:
我想在每个 TimePeriodId 的“BillType”列中创建一个新列,即“IN”和“SA”的生命总和。这样,我将为单个 TimePeriodId 提供一个“总生命”条目。我浏览了很多文档,但不知道在这种情况下我该怎么做。
代码示例:
sa = pd.read_sql(sa_q1, sql_conn)
#convert TimePeriodId to string values
sa['TimePeriodId'] = sa['TimePeriodId'].astype(str)
sa = sa.loc[(sa['BillType'] =='SA') | (sa['BillType']=='IN')]#.drop(['BillType'], axis = 1)
sa.head(10).to_dict()
#the last line returns the following:
{'TimePeriodId': {1: '201811',
2: '201811',
4: '201812',
5: '201812',
9: '201901',
11: '201901',
13: '201902',
14: '201902',
17: '201903',
18: '201903'},
'BillType': {1: 'IN',
2: 'SA',
4: 'IN',
5: 'SA',
9: 'SA',
11: 'IN',
13: 'IN',
14: 'SA',
17: 'IN',
18: 'SA'},
'Lives': {1: 1067,
2: 288028,
4: 1058,
5: 287501,
9: 293560,
11: 1068,
13: 1089,
14: 278850,
17: 1076,
18: 276961}}
任何帮助将不胜感激!
【问题讨论】:
-
请在问题中包含输入作为文本。另外,请包括预期的输出。
-
如果您将数据作为可复制文本而不是图像提供,我可能会尝试发布答案...
-
抱歉,我是 python 新手,不确定您所说的“输入为文本”是什么意思?
-
@KeithRoberts 将
df.to_dict()发布到问题中,如果df是大帖子df.head(10).to_dict()和预期输出。这使得在本地复制您的数据变得容易。