大数据分析python

# 导库
import numpy as np
import pandas as pd

# 读取数据
data =pd.read_csv('logistics.csv')
data.head(10)

思路:直接查看不同公司的数量即可

df1=data.groupby('货运公司名称').size().reset_index(name='count') #直接对货运公司的名称做统计(示例: 天天速递 25)

df1

2.接通知对寄往北京的快递案件全面升级,对数据中目的站为“北京市”的运单进行分析,统计对应的始发站(省)及各省运单数

思路:先按目的地为“北京“筛选,在此基础上查看不同始发站的数量

#先找出目的地北京的
dfa = data[data['目的站:省'] == '北京市']
dfa

#然后对始发站(省)进行数值统计 (示例: 山西省 1)
df2= dfa.groupby('始发站:省').size().reset_index(name='count')
df2

 3.自2019年底新冠疫情以来,防控形势严峻复杂,物流传播风险加大,根据西安防疫政策需要对疫情以来(2019年12月及以后)本市始发物流进行监管
思路:先按时间筛选出2019年12月1日及以后的数据,在此基础上再筛选出始发为西安的数据(这两步顺序任意),最后再选取重要信息列。<br>
数据要求:运单编号 货运公司名称 发货客户名称 发货客户手机 收货客户地址(收件地址)<br>
保存文件:03.txt(同目录下,下同)

#查看数据类型
data.dtypes

#将发货时间改为时间类型
data['发货时间'] = pd.to_datetime(data['发货时间'])
#筛选发货时间2019-12-01及以后的数据
dfb = data[data['发货时间']>='2019-12-01']
dfb.head()

#筛选始发站为西安
df3 = dfb[dfb['始发站:市'] == '西安市']
df3.head(10)

#选择重要信息列
df3=df3[['运单编号','货运公司名称','发货客户名称','发货客户手机','收货客户地址(收件地址)']]
df3

#保存文件
df3.to_csv('03.txt', index=False, sep='\t') #pandas直接存为txt

#在西安的数据中查找付*君
dfc = data[data['发货客户名称'].str.contains('付*君') ]
dfc.head()

4.接防疫通知,人员“付*君”于2019/12/18筛查核酸阳性,结合上题物流信息,对其阳性当天前后7天内的物流进行追踪,将对应收货人作为重点监控人员

思路:筛选人员“付 * 君”的数据,在此基础上计算“付 * 君”发快递时间与“2019/12/18”的时间差,选取时间差绝对值小于等于7的部分,进而追踪对应的收货人。
数据要求:发货时间 收货客户名称 收货客户手机 收货客户地址(收件地址)
保存文件:04.txt

#计算发货时间和'2019-12-18'的时间差 <= 7
#展示重要信息列
#保存文件
positive_date = pd.Timestamp('2019-12-18')
delta_date = pd.Timedelta(days=7)
start_date = positive_date - delta_date
end_date = positive_date + delta_date
dft = dfc[(dfc['发货时间'] >= start_date) & (dfc['发货时间'] <= end_date)]

df4=dft[['发货时间','收货客户名称','收货客户手机','收货客户地址(收件地址)']]
df4

df4.to_csv('04.txt', index=False, sep='\t')

 

5.为加强冷链食品疫情防控,对冷藏产品进行重点追踪

思路:直接筛选货物类型为“冷藏产品”的数据
数据要求:运单编号 货运公司名称 始发站:省 始发站:市 发货客户名称 发货客户手机 货物类型
保存文件:05.txt

dfl = data[data['货物类型'] == '冷藏产品']
df5=dfl[['运单编号','货运公司名称','始发站:省','始发站:市','发货客户名称','发货客户手机','货物类型']]
df5
df5.to_csv('05.txt', index=False, sep='\t')

 

6.结合联防联控机制组文件,严守冷链输入风险,筑牢校园食品安全,各地区要求冷藏产品禁止进入校园,查找疑似“冷藏产品”进入校园的物流信息

思路:先筛选所有冷藏产品数据,然后检查冷藏产品的收货客户地址中是否含有“学校”、“大学”、“校区”等相关词。
数据要求:运单编号 货运公司名称 收货客户名称 收货客户手机 收货客户地址(收件地址)
保存文件:06.txt

dfl
keywords = ['学校', '大学', '校区']
dfd = dfl['收货客户地址(收件地址)'].str.contains('|'.join(keywords), na=False)
dfz =['运单编号','货运公司名称','收货客户名称','收货客户手机','收货客户地址(收件地址)']
df6 = dfl[dfd][dfz]
df6
df6.to_csv('06.txt', index=False, sep='\t')

7.对以往病例溯源中,发现部分病例曾接触境外快递,因此需要对数据中海外包裹进行重点追踪

思路:直接筛选海外发货数据
数据要求:运单编号 货运公司名称 始发站:省 收货客户名称 收货客户手机 收货客户地址(收件地址)
保存文件:07.txt

dfw=data[data['始发站:省'] == '海外']
dfw
df7 =dfw[['运单编号','货运公司名称','始发站:省','收货客户名称','收货客户手机','收货客户地址(收件地址)']]
df7.to_csv('07.txt', index=False, sep='\t')

 

posted @   yltzz  阅读(296)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示