为了账号安全,请及时绑定邮箱和手机立即绑定

Python 中的数据分析(Dataframe 和嵌套循环)

Python 中的数据分析(Dataframe 和嵌套循环)

繁华开满天机 2021-06-03 01:13:39
试图了解如何在 python 中使用嵌套循环。我试图理解总结相同的值并学会了使用 group_by 函数(基于我今天看到的 stackoverflow 中的另一个问题)。我想学习 pytonic-dataframe 方式。现在我想用以下方式总结工作日。我根据场景总结单位,例如:Scenario = 1,Company = A,Country = USA,Unit = HR+Corporate Client,总结工作时间 = 65+63 = 128 等等。在原始数据之后我包括输出应该是什么样子。我不确定这是否也适用于 group_by,这更像是一种枢轴方式。我从嵌套循环开始,但在索引日期时遇到问题。因此,我的代码仅按日期过滤,效率不高,但有效。我了解到嵌套循环对于数据帧是不够的,但不确定我可以走哪条路。代码如下所示:import pandas as pdworking_date_start = '2017-07-14'working_date_end = '2017-07-15'flag_scenario = 0 Scenario = 0df = pd.read_csv('C:/Comapny_WorkingHours.csv', encoding='cp1252', sep=';', index_col=None).dropna()df = df[(df['working_date'] >= working_date_start) & (df['working_date'] < working_date_end) & (df['flag'] == flag_scenario) & (df['Scenario'] >= Scenario)]pd_date = pd.DatetimeIndex(df['working_date'].values)df['working_date'] = pd_dateindex_data = df.set_index('working_date')for current_date in index_data.index.unique():     print('calculating date: ' +str(current_date))     for i in range(0, len(df)):         for j in range(i+1, len(df)):             if df.iloc[i]['Scenario'] == df.iloc[j]['Scenario'] and df.iloc[i]['Unit'] != df.iloc[j]['Unit'] and df.iloc[i]['Company'] == 'Company A' and df.iloc[j]['Company'] == 'Company A' and df.iloc[i]['Country'] == 'USA' and df.iloc[j]['Country'] == 'USA':                 print(df.iloc[i]['Scenario'], df.iloc[j]['Scenario'])                 print(df.iloc[i]['Unit'], df.iloc[j]['Unit']) 
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信