esproc vs python 1 增删改查

1. 增加记录:在第二的位置增加一条记录

esproc

image.png  

A4:添加一条记录(“:”前表示字段值,“:”后表示字段),其中2表示第二条记录的位置

A5:计算运算时间(interval():计算时间间隔。@ms表示以毫秒为单位)

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

values=[100,"wang","lao","Femal","CA","1999-01-01","2009-03-04","HR",3000]

line_dic={}

for i in range(len(data.columns)):

    line_dic[data.columns[i]]=values[i]

line = pd.DataFrame(line_dic,index=[1])

data = pd.concat([data.loc[:0],line,data.loc[1:]],ignore_index=True)

print(data)

e=time.time()

print(e-s)

用pd.concat([df1,df2,…,dfn))达到新增记录的目的,dataframe结构的记录是从0开始计数的,如df.loc[1:]表示切片取出第二条以后的所有记录

最后计算出运算耗时。

结果:

esproc

1550128697065100.png

python

1550128697228100.png

image.png  

 

2. 删除记录:删除第 2 条记录

esproc                     

image.png  

A4:删除第2条记录

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data = data.drop(1)

print(data)

e=time.time()

print(e-s)

利用df.drop()函数删除某条记录

结果:

esproc

1550128697309100.png

python

1550128695671100.png

 

image.png  

 

3.修改记录:第 5 条记录的 NAME 改为 aaa,SALARY 改为 1000

esproc

image.png  

A4:修改第5条记录中的NAME字段的值为“aaa”,修改SALARY字段的值为1000

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data.loc[4,['NAME','SALARY']]=['aaa',1000]

print(data)

e=time.time()

print(e-s)

利用df.loc[]切片取出第5条记录的NAME,SALARY字段并赋值为‘aaa’和1000

结果:

esproc

1550128695789100.png

python

1550128695942100.png

image.png  

 

4.查询行:查询第 2~10 条记录

esproc

image.png  

A4:to(m,n):产生m~n的序列,我们用T表示序表,A表示序列。T(A)表示取出序列中包含值的记录,这里表示取出第2~10条记录

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data = data.loc[1:9]

print(data)

e=time.time()

print(e-s)

利用df.loc[]切片取出第2~10条记录

结果:

esproc

1550128696022100.png

python

1550128696213100.png

image.png  

 

5.增加列:增加一个字段 Fullname

esproc

image.png  

A4:derive()增加字段,这里表示用原来的NAME和SURNAME连接生成Fullname字段。

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data['Fullname'] = data['NAME']+data['SURNAME']

print(data)

e=time.time()

print(e-s)

取出NAME和SURNAME合并成Fullname

结果:

esproc

1550128696312100.png

python

1550128696489100.png

 

image.png  

 

6.筛选字段:筛选出字段 NAME,SURNAME,STATE,GENDER

esproc

image.png  

A4:T.new()生成新的序表。这里表示生成包含A3序表中NAME,SURNAME,STATE,GENDER这几个字段的新序表。

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data = data[['NAME','SURNAME','STATE','GENDER']]

print(data)

e=time.time()

print(e-s)

取出NAME,SURNAME,STATE,GENDER这几个字段复制给新的dataframe。

结果:

esproc

1550128696580100.png

python

1550128696717100.png

image.png  

 

7.修改字段名:修改 EID 为 ID

esproc

image.png  

A4:rename()修改字段名。这里表示将EID修改为ID

python:

import time

import pandas as pd

import datetime

import numpy as np

import random

s=time.time()

data = pd.read_csv("C:/Users/Sean/Desktop/esproc_vs_python/EMPLOYEE.txt",sep="\t")

data.rename(columns={'EID':'ID'},inplace=True)

print(data)

e=time.time()

print(e-s)

利用df.rename()函数修改字段名,将EID修改为ID。参数inplace控制是否修改原来的dataframe结构。

结果:

esproc

1550128696819100.png

python

1550128696984100.png

image.png  

 

小结 :我们通过对记录和字段的增、删、改、查这些基本的运算,用esproc和python按照相同的思路,对相同的数据进行同样的处理,在描述效率方面,两者相差并不大,都很方便而且容易上手。

EMPLOYEE.txt


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31543054/viewspace-2638904/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31543054/viewspace-2638904/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值