我想创建一个摘要数据帧,反映跟踪和未跟踪框的数量。简单:
School - Exams Tracked School - Exams Not Tracked
All Box Tracked Sites 5820 2
我们将在下车时使用此报告,因此有时将没有跟踪的箱子,一段时间后将跟踪所有箱子
现在,我的代码可能会收到一个键错误(.get_loc(key)
),因为有时它会查找目前还不存在的“TRACKED”
这是我想出的最好的解决办法,但我觉得很难看:
BoxTrackingSummary_df = pd.DataFrame()
BoxTrackingSummary_df_columns = ['School - Exams Tracked', 'School - Exams Not Tracked']
summary_group = pd.DataFrame(BoxTrackingReport_df.groupby('Tracked At A Site?').agg('count')['All Box Tracked Sites'])
# group.loc can only count groups that exist. plan for when there are no 'TRACKED' or no 'NO's, or receive a .get_loc(key) error
try:
BoxTrackingSummary_df['School - Exams Tracked'] = summary_group.loc['TRACKED']
except:
BoxTrackingSummary_df['School - Exams Tracked'] = 0
print('No Tracked yet.')
try:
BoxTrackingSummary_df['School - Exams Not Tracked'] = summary_group.loc['NO']
except:
BoxTrackingSummary_df['School - Exams Not Tracked'] = 0
print('All Tracked.')
这是报告栏“在站点跟踪”的内容:
>>> BoxTrackingReport_df['Tracked At A Site?']
...
0 TRACKED
1 TRACKED
2 TRACKED
3 TRACKED
4 TRACKED
不需要
try/except
或初始化空数据帧并从单独的groupby
数据帧分配列。考虑直接从一个站点跟踪工作列(即系列):用随机的种子数据演示
在上面的
reindex
中,代码总是确保两个列都出现,不管它们是否在数据中(添加.fillna(0)
相关问题 更多 >
编程相关推荐