[Python]Pandas分别筛选出每天男女司机的数据,分别计算男女司机每天累计载客时间和载客里程,再求平均日载客时间和载客里程

数据日期是一串数字,以每天的日期分别筛选出男女司机数据,并保存文件。

代码1:按照日期、性别分类

import pandas as pd
female_data = pd.read_csv('C:\\Users\\11357\\Desktop\\男女司机\\data_female.csv')
male_data =  pd.read_csv('C:\\Users\\11357\\Desktop\\男女司机\\data_male.csv')
today = 20220418000000
count = 1000000
while today < 20220425000000:
    next_day = today + 1000000
    male_day = male_data[(male_data['DEP_TIME'] >= today) & (male_data['DEP_TIME'] < next_day)]
    male_day.to_csv('C:\\Users\\11357\\Desktop\\男女司机\\日期\\male_day'+ str(today)[4:8]+'.csv',index = None,encoding = 'utf-8_sig')
    female_day = female_data[(female_data['DEP_TIME'] >= today) & (female_data['DEP_TIME'] < next_day)]
    female_day.to_csv('C:\\Users\\11357\\Desktop\\男女司机\\日期\\female_day'+ str(today)[4:8]+'.csv',index = None,encoding = 'utf-8_sig')
    today += count

代码2:按照日期、性别分类,别求男女司机每天累计行驶时间和里程,还有平均值。完整代码:

import pandas as pd
female_data = pd.read_csv('C:\\Users\\11357\\Desktop\\男女司机\\data_female.csv')
male_data =  pd.read_csv('C:\\Users\\11357\\Desktop\\男女司机\\data_male.csv')
today = 20220418000000
count = 1000000
male_drive_mile = []
male_drive_time = []
female_drive_mile = []
female_drive_time = []

while today < 20220425000000:
    next_day = today + 1000000
    male_day = male_data[(male_data['DEP_TIME'] >= today) & (male_data['DEP_TIME'] < next_day)]
    male_drive_mile.append(male_day['DRIVE_MILE'].sum())
    male_drive_time.append(male_day['DRIVE_TIME'].sum())
    male_day.to_csv('C:\\Users\\11357\\Desktop\\男女司机\\日期\\male_day'+ str(today)[4:8]+'.csv',index = None,encoding = 'utf-8_sig')
    
    female_day = female_data[(female_data['DEP_TIME'] >= today) & (female_data['DEP_TIME'] < next_day)]
    female_drive_mile.append(female_day['DRIVE_MILE'].sum())
    female_drive_time.append(female_day['DRIVE_TIME'].sum())
    female_day.to_csv('C:\\Users\\11357\\Desktop\\男女司机\\日期\\female_day'+ str(today)[4:8]+'.csv',index = None,encoding = 'utf-8_sig')
    today += count

time_and_mile = pd.DataFrame([male_drive_mile,
                              male_drive_time,
                              female_drive_mile,
                              female_drive_time],columns = ['2022.4.18','2022.4.19','2022.4.20','2022.4.21','2022.4.22','2022.4.23','2022.4.24'])
time_and_mile.index = ['male_drive_mile','male_drive_time','female_drive_mile','female_drive_time']

def average(time_and_mile):
    i = 18
    average = 0
    while i < 25:
        average += time_and_mile['2022.4.'+ str(i)]
        i+=1
    average /= 7
    return average
time_and_mile ['average'] = time_and_mile.apply(average,axis = 1)
time_and_mile.to_csv('C:\\Users\\11357\\Desktop\\mile和time计算.csv',encoding = 'utf-8_sig')

这里数据是有误的,可能是之前筛选的问题,方法无误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值