首页 > 编程语言 >大数据分析python

大数据分析python

时间:2023-06-09 20:44:06浏览次数:50  
标签:数据分析 收货 python 始发站 地址 客户 发货 data

# 导库
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')

 

标签:数据分析,收货,python,始发站,地址,客户,发货,data
From: https://www.cnblogs.com/r-zz/p/17470199.html

相关文章

  • 使用Python编写简易定时器
    简单模拟了定时器功能,需要的朋友可以自己改写和扩充功能。importdatetimeimportwinsoundimporttimeimportrandomdefTimer(y,m,d,h,mu,s):'''参数分别为年、月、日、时、分、秒'''stopTime=datetime.datetime(y,m,d,h,mu,s)maxTime=stopTime+......
  • 使用Python寻找黑洞数
     黑洞数是指这样的整数:由这个数字每位上的数字组成的最大数减去每位数字组成的最小数仍然得到这个数自身。例如3位黑洞数是495,因为954-459=495,4位数字是6174,因为7641-1467=6174。本文重点在于内置函数sorted()和reversed()的用法。defmain(n):'''参数n表示数字的位数,例如n=3......
  • Python中的具名元组类用法
    >>>fromcollectionsimportnamedtuple>>>Point=namedtuple('Point',['x','y','z'])#创建具名元组类>>>Point<class'__main__.Point'>>>>p=Point(3,4,5)#实例化对象......
  • Python“制作”midi音乐“两只老虎”
    从网上找了很多谱子,可惜没有音乐细胞看不太懂,根据自己的理解改了好几遍,还是听不出来“两只老虎”的感觉,于是在标题上加了双引号。这样的话就只能了解本文思路了,算是抛砖引玉吧,重点是Python标准库winsound的Beep()函数可以发出37到32767赫兹之间频率的声音,其第二个参数为发声时长。f......
  • Python标准库zlib提供的数据压缩功能
    Python标准库zlib中提供的compress()和decompress()函数可以用于数据的压缩和解压缩,在压缩数据之前需要先想办法编码为字节串。>>>importzlib>>>x='Python程序设计系列图书,董付国编著,清华大学出版社'.encode()>>>len(x)72>>>y=zlib.compress(x)>>>len(y)#对于重......
  • Python使用Queue对象实现多线程同步小案例
    queue模块的Queue对象实现了多生产者/多消费者队列,尤其适合需要在多个线程之间进行信息交换的场合,实现了多线程编程所需要的所有锁语义。Queue对象主要实现了put()和get()方法,分别用来往队列尾部追加元素和在队列头部获取并删除元素。这两个方法都允许指定超时时间,其用法分别为put(......
  • Python统计多个Powerpoint文件中幻灯片总数量
    晚上吃饭时突然想知道自己做了多少页《Python程序设计》系列教材的配套PPT,于是就有了下面的代码,这套PPT综合了《Python程序设计基础》(ISBN:9787302410584)、《Python程序设计(第2版)》(ISBN:9787302436515)和《Python可以这样学》(ISBN:9787302456469)以及将要出版的《Python程序设计开发宝典......
  • Python计算序列中数字最大差值(美团2016校招笔试题)
    题目要求:给定一个包含若干数字的序列A(本文以列表为例),求满足0≤a≤b<n(其中n为序列长度)的A[b]-A[a]的最大值。编程要点:循环结构用法,切片,内置函数enumerate(),列表推导式。参考代码:fromrandomimportrandrangedefmaxDifference(lst):#负无穷大diff=-float('inf')......
  • Python使用Condition对象实现多线程同步
    使用Condition对象可以在某些事件触发后才处理数据或执行特定的功能代码,可以用于不同线程之间的通信或通知,以实现更高级别的同步。在内部实现上,Condition对象总是与某种锁对象相关联。Condition对象除了具有acquire()和release()方法之外,还有wait()、wait_for()、notify()、notify_......
  • 使用Python开发会聊天的智能小机器人
    本文重点演示使用socket实现TCP通信以及字典和集合的用法,客户端发来信息之后,服务端会尽量猜测客户端要表达的真正意思,然后选择合适的内容进行回复。服务端小机器人代码:importsocketfromos.pathimportcommonprefixwords={'howareyou?':'Fine,thankyou.','howo......