您现在的位置是:主页 > news > wordpress中文对照/windows优化大师有用吗

wordpress中文对照/windows优化大师有用吗

admin2025/5/7 4:58:03news

简介wordpress中文对照,windows优化大师有用吗,wordpress密码忘了怎么找回,程序员做的网站别人用于诈骗匿名用户 1级 2017-08-01 回答 将OD_Matrix_Weekday_BusyHourAM.csv转换成OD_Matrix_Weekday_BusyHourAM.json。 在数据可视化中,OD弦图要求以百分比的输入格式,也可以用具体的客流数值,但是需要修改一下绘图的js脚本。由于目前数据处理的结果…

wordpress中文对照,windows优化大师有用吗,wordpress密码忘了怎么找回,程序员做的网站别人用于诈骗匿名用户 1级 2017-08-01 回答 将OD_Matrix_Weekday_BusyHourAM.csv转换成OD_Matrix_Weekday_BusyHourAM.json。 在数据可视化中,OD弦图要求以百分比的输入格式,也可以用具体的客流数值,但是需要修改一下绘图的js脚本。由于目前数据处理的结果…

匿名用户

1级

2017-08-01 回答

将OD_Matrix_Weekday_BusyHourAM.csv转换成OD_Matrix_Weekday_BusyHourAM.json。

在数据可视化中,OD弦图要求以百分比的输入格式,也可以用具体的客流数值,但是需要修改一下绘图的js脚本。由于目前数据处理的结果主要是二维表形式的csv,与弦图要求的输入格式不一致,所以这里按照需求先进行额外的数据格式转换,OD_Matrix_Weekday_BusyHourAM.json 是站点之间的OD流量,这个例子json文件中每一行表示该站点到其他各个站点的客流占总客流的百分百,所以都是很小的数值。

下面讲代码实现:

#List.py 数据格式转换的python脚本

import sys #导入系统相关的信息模块

import csv #导入csv模块读取写入csv文件数据

myList = [([0] * 42) for i in range(42)] #定义一个列表

x=0

y=0

sum = 0

with open(sys.argv[1]) as f: #使用sys.argv[0]采集脚本名称

f_tsv = csv.reader(f, delimiter='\t') #读取csv文件

headers = next(f_tsv)

for row in f_tsv:

x = int(row[0]) #使用下标访问myList列表的第1个字段

y = int(row[1]) #使用下标访问myList列表的第2个字段

if x > 30 :

x = x-10

if y > 30 :

y = y -10

myList[x-1][y-1]=row[2]

sum = sum + int(row[2])

#print ("%f",myList)

for i in range(42):

for j in range(42):

#myList[i][j]='{0:.10f}'.format(float(myList[i][j])/sum)

myList[i][j]=(float(myList[i][j])/sum) #输出浮点型

print (myList)

在同一文件路径下,执行以下命令完成数据转换:

python list.py OD_Matrix_Weekday_BusyHourAM.csv >OD_Matrix_Weekday_BusyHourAM.json

涉及的相关背景知识总结:

1.CSV模块是Python的内置模块,Import csv

就可以调用,CSV模块主要就两个函数:csv.reader()——读取csv文件数据,csv.writer()——写入csv文件数据。csv产生的数据都是字符串类型的,它不会做任何其他类型的转换。

2. use “\t” for delimiter 进行分界

3. 数据结构的推导式(List comprehension),也叫列表的解析式。比如现在我有41个元素要装进列表中,普通的写法是这样的:

a=[]

for i in range(1,42):

a.append(i)

下面换成列表解析的方式来写:

a = [i in range(1,42)]

后者执行效率高,我们用time clock()方法,以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更好用。但是这里有一点要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是”进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

1.列表推导式的用法:

List=[item for item in iterable]

a=[i**2 for in range(1,10)]

b=[j+i for j in range(1,10)]

k=[n for n in range(1,10) if n % 2==0]

z=[letter.lower() for letter in 'ABCDEFGH']

2.字典推导式用法:

d={i:i+1 for in range(4)}

g={i:j for i,j in zip(range(1,6),'abcde')}

g={i:j.upper() for i,j in range(1,6),abcde''}

3.用来衡量比较这两种方式程序的耗时:

import time

a=[]

t0=time.clock()

for i in range(1,2000000):

a.append(i)

print(time.clock() - t0,'seconds process time')

t0=time.clock()

b=[i for i in range(1,2000000)]

print(time.clock() - t0,'seconds process time')

得到结果: