读写文本格式的数据
将工作目录下的一个csv文件读入一个DataFrame中
df = pd.read_csv('examples/ex1.csv')
也可以是哟个read_table方法,并指定分隔符
pd.read_table('examples/ex1.csv',sep=',')
有些数据文件没有标题行,如果直接读取,会将第一行默认设置为标题行,传入header=None参数可以避免。
pd.read_csv('examples/ex2.csv') #将第一行设置为标题行
pd.read_csv('examples/ex2.csv',header=None)
也可以通过name参数手动设定标题行。
pd.read_csv('examples/ex2.csv',names=['a','b','c','d','message'])
通过index_col参数可以将源数据的某列设置为行索引列。
names = ['a','b','c','d','message']
pd.read_csv('examples/ex2.csv',names=names,index_col = 'message')
将names列表设置为标题行,index_col参数将message列设置为行索引列。
可以设置多个列为行索引列,做成层次化索引。
parsed = pd.read_csv('examples/csv_mindex.csv',index_col=['key1','key2'])
设置key1和key2两层索引
有些表格可能不是用固定的分隔符来分隔字段的。
list(open('examples/ex3.txt'))
上面的文件中的数据使用数量不同的空白字符间隔开的,可以传入一个正则表达式作为分隔符。
result = pd.read_table('examples/ex3.txt',sep='\s+')
有时数据文件中不一定全都是数据。
比如这个数据文间的0、2、3行都是注释
通过skiprows参数可以跳过数据文件的指定行。
pd.read_csv('examples/ex4.csv',skiprows=[0,2,3])
读取的数据文件中可能会存在缺失值。
result = pd.read_csv('examples/ex5.csv')
使用isnull方法可以返回一个布尔型DataFrame,缺失值会显示为True。
据说na_values参数可以设置不同的标记值来表示缺失值
result = pd.read_csv('examples/ex5.csv', na_values=['test'])
实际好像没什么卵用。
将各列的缺失值用不同的NA标记值。
sentinels = {'message': ['foo', 'NA'], 'something': ['two']}
pd.read_csv('examples/ex5.csv', na_values=sentinels)
read_csv/read_table的一些参数介绍。
逐块读取文本文件
看大文件之前可以设置最大显示行数为10行。
pd.options.display.max_rows = 10
result = pd.read_csv('examples/ex6.csv')
显示头五行和尾五行。
read_csv方法中可以设置nrows参数控制读取行数。
pd.read_csv('examples/ex6.csv',nrows=5) #只读五行
要逐块读取文件,设置chunksize参数。
chunker = pd.read_csv('examples/ex6.csv',chunksize=1000) #将10000行的数据文件拆分成10个1000行。
tot = pd.Series([]) #创建一个空Series
for piece in chunker: #迭代10个数据块
tot = tot.add(piece['key'].value_counts(),fill_value=0)
#对每个数据块进行分类求和,key列中有字母也有数字,求出它们的数量
tot = tot.sort_values(ascending=False) #降序排序
通过sort_index方法可以对索引进行排序
将数据写出到文本格式
通过to_csv方法,可以将数据写到一个用逗号分隔的文件中。
data = pd.read_csv('examples/ex5.csv') #读取文件数据
data.to_csv('examples/test.csv') #将文件数据转存到另外一个文件中
test = pd.read_csv('examples/test.csv')
默认是逗号分隔,可以选择其他分隔符。
缺失值会用空字符串来表示,可以通过na_rep参数设置为其他标记值。
data.to_csv(sys.stdout,na_rep='test')
设置index和header参数可以不保存行索引或者列索引
data.to_csv(sys.stdout,index=False,header=False)
还可以设置columns参数选择写入部分数据。
data.to_csv(sys.stdout,index=False,columns=['a','b','c'])
Series也有to_csv方法
dates = pd.date_range('1/1/2000',periods=7) #创建一个日期序列
ts = pd.Series(np.arange(7),index=dates) #将日期序列作为Series的索引
ts.to_csv('examples/tseries.csv')
处理分隔符格式
有一个数据文件如下
对任何单字符分隔符文件,可直接用python内置的csv模块,将任意已打开的文件或文件型的对象传给csv.reader
import csv
f = open('examples/ex7.csv')
reader = csv.reader(f)
打开指定文件,通过csv模块的reader方法将数据读取至一个变量中。
for line in reader:
print(line)
为得到一个格式合理的数据,先进行整理
with open('examples/ex7.csv') as f:
lines = list(csv.reader(f)) #读取文件到一个多行列表
header,values = lines[0],lines[1:] #分标题行和数据行
构造字典
data_dic = {h:v for h,v in zip(header,zip(*values))}
JSON数据
JSON数据示例
通过json.loads将str类型的数据转成dict。
通过json.dumps函数将dict转为str
将JSON对象转为DataFrame最简单的方法是向DataFrame构造器传入一个字典的列表,选取数据字段的子集。
siblings = pd.DataFrame(result['siblings'],columns=['name','age'])
将字典result中的siblings键对应的数据取出,并选择性地只取name和age列数据。
pd.read_json可以自动将json数据转换为Series或DataFrame
源文件是一个含有三个dict的list。
data = pd.read_json('examples/example.json')
将数据从pandas输出到JSON,可以用to_json方法
默认返回一个dict的字符串,以列索引为键,值是行索引和数值组成dict。
XML和HTML:Web信息收集
pandas.read_html默认条件下会搜索,解析
标签内的表格数据,结果是一个列表的DataFrame对象。
tables = pd.read_html('examples/fdic_failed_bank_list.html')
只有一个表格。
是列表的形式
通过切片即可转为DataFrame。
取前五行。
通过pandas.to_datetime()方法可以获取时间
close_timestamps = pd.to_datetime(failures['Closing Date'])
获取DataFrame的Closing Date列的日期,返回一个Series。
对日期的年进行描述统计
close_timestamps.dt.year.value_counts()
利用lxml.objectify解析XML
一个xml文件中的一条记录示例
用lxml.objectify解析xml文件,在用getroot得到xml文件的根节点的引用。
from lxml import objectify
path = 'datasets/mta_perf/Performance_MNR.xml'
parsed = objectify.parse(open(path))
root = parsed.getroot()
root.INDICATOR返回一个用于产生各个INDICATOR的生成器。
data = []
skip_fields = ['PARENT_SEQ','INDICATOR_SEQ','DESIRED_CHANGE','DECIMAL_PLACES']
for elt in root.INDICATOR:
el_data = {}
for child in elt.getchildren():
if child.tag in skip_fields:
continue
el_data[child.tag] = child.pyval
data.append(el_data)
上面代码的意思是迭代每条INDICATOR记录,跳过排除列表中的几个节点,将其他节点信息导入到一个dict中,再汇总到list中。
最后将这组字典转为DataFrame
perf = pd.DataFrame(data)
perf.head()
二进制数据格式
通过pandas.to_pickle方法,可以将数据以pickle格式保存到磁盘上
frame = pd.read_csv('examples/ex1.csv') #读取一个数据文件
frame.to_pickle('examples/frame_pickle') #通过to_pickle保存
通过pandas.read_pickle可以读取pickle化的数据。
使用HDF5格式
这是一种存储大规模科学数组数据的文件格式。
frame = pd.DataFrame({'a':np.random.randn(100)})
store = pd.HDFStore('mydata.h5') #在工作目录下创建一个h5文件存储数据
store['obj1'] = frame #将新建的DataFrame保存到h5文件中,命名为obj1
store['obj1_col'] = frame['a']
获取HDF5文件中DataFrame
HDFStore支持两种存储模式,'fixed'和'table',后者更慢,但支持特殊语法查询。
store.put('obj2',frame,format='table')
store.select('obj2',where=['index >= 10 and index <= 15'])
通过DataFrame的to_hdf方法可以将DataFrame保存至新建的h5文件中。
通过pd.read_hdf可以读取h5文件的指定DataFrame中的符合某条件的数据。
frame.to_hdf('mydata2.h5','obj3',format='table')
pd.read_hdf('mydata2.h5','obj3',where=['index < 5'])
HDF5不是数据库,适合一次写多次读的数据集,虽然数据可以任何时候添加到文件中,如果同时发生多个写操作,文件可能被破坏。
读取Microsoft Excel文件
通过pd.ExcelFile方法创建一个实例
xlsx = pd.ExcelFile('examples/ex1.xlsx')
再用read_excel方法读取具体工作表。
也可以直接将文件路径传到pd.read_excel方法中。
frame = pd.read_excel('examples/ex1.xlsx','Sheet1')
若要将数据写入Excel中,先用pd.ExcelWriter创建一个实例,再通过DataFrame的to_excel方法将数据写入文件的指定工作表中。
writer = pd.ExcelWriter('examples/ex2.xlsx')
frame.to_excel(writer,'Sheet1')
writer.save()
也可以不创建实例,直接将路径传入到to_excel方法中。
frame.to_excel('examples/ex2.xlsx')
Web APIs交互
许多网站有一些通过JSON格式或其他格式提供数据的公共API,可以通过request包来访问。
import requests
url = 'https://api.github.com/repos/pandas-dev/pandas/issues'
resp = requests.get(url)
通过request模块的get方法获取网站返回的信息。
通过返回对象的json方法可以得到一个被解析过的JSON字典。
data = resp.json() #data的类型是list
data[0]['title']
根据data创建DataFrame
issues = pd.DataFrame(data,columns=['number','title','labels','state'])
issues.head()
数据库交互
将数据从SQL加载到DataFrame中。
import sqlite3
query = """
CREATE TABLE test1
(a VARCHAR(20), b VARCHAR(20),
c REAL, d INTEGER
);"""
con = sqlite3.connect('mydata.sqlite') #连接到指定数据库
con.execute(query) #执行SQL语句,此语句用于创建表格
con.commit() #提交
插入几行数据
data = [('Atlanta', 'Georgia', 1.25, 6),
('Tallahassee', 'Florida', 2.6, 3),
('Sacramento', 'California', 1.7, 5)]
stmt = "INSERT INTO test1 VALUES(?, ?, ?, ?)"
con.executemany(stmt,data) #将data中的数据通过stmt的sql语句插入到test1表中
通过sql语句到SQL中选取数据,返回一个元组列表。
cursor = con.execute('select * from test1') #选择表1中的全部数据
rows = cursor.fetchall()
cursor.description方法返回一个元组组成的列表。
cursor.description
可以根据这个结果得到列索引。
根据上面得到的数据和索引,可以从SQL中获取数据创建DataFrame。
pd.DataFrame(rows,columns=[x[0] for x in cursor.description])
通过sqlalchemy模块的create_engine方法可以连接python和数据库,结合pd.read_sql方法,传入查询语句和连接变量可以获取数据。
import sqlalchemy as sqla
db = sqla.create_engine('sqlite:///mydata.sqlite')
pd.read_sql('select * from test1',db)
测试不知道为什么没有数据。
本学习笔记主要内容来自:https://www.jianshu.com/p/ac7bec000dad
你可能感兴趣的:(python)
python科学绘图-matplotlib绘制三维函数图像,并且在函数底部绘制等值线
zhan114514
python科学绘图 python matplotlib 开发语言
python使用matplotlib库绘制三维函数图像,并且在底部绘制等值线。三维图像函数surface=ax.plot_surface(X,Y,zss,camp=色带)等值线函数contour=ax.contour(xs,ys,zss,zdir=在哪个轴绘制,offset=在该轴什么位置绘制,camp=色带,zorder=图层位置)颜色条函数plt.colorbar(surface,shrink
python使用matplotlib库绘制饼图
zhan114514
python科学绘图 python matplotlib 开发语言
使用python的matplotlib库绘制饼图,包括普通饼图、堆叠饼图、嵌套饼图,并一一封装成了方法,直接调用使用。先安装matplotlib库,pipinstallmatplotlib代码如下:fromtypingimportSequenceimportmatplotlib.pyplotaspltimportmatplotlibimportnumpyasnpmatplotlib.rcParam
python科学绘图-matplotlib中标记marker的使用方法
zhan114514
python科学绘图 python matplotlib 开发语言
python使用matplotlib库,在绘制点图、线图的时候,标记初始的数据用图标记所有标记,可以拿出来对比使用代码:importmatplotlibimportnumpyasnpfrommatplotlibimportpyplotaspltimportmatplotlib.linesasmlinesmatplotlib.use("TkAgg")plt.rcParams['font.sans-s
python:@classmethod
zcxvdzv
python
python提供了@classmethod和@staticmethod来定义静态方法1、实例方法,该实例属于对象,该方法的第一个参数是当前实例,拥有当前类以及实例的所有特性。2、@classmethod类方法,该实例属于类,该方法的第一个参数是当前类,可以对类做一些处理,如果一个静态方法和类有关但是和实例无关,那么使用该方法。3、@staticmethod静态方法,该实例属于类,但该方法没有参数,
Tinyflow AI 工作流编排框架 v0.0.7 发布
自不量力的A同学
人工智能
目前没有关于TinyflowAI工作流编排框架v0.0.7发布的相关具体信息。Tinyflow是一个轻量的AI智能体流程编排解决方案,其设计理念是“简单、灵活、无侵入性”。它基于WebComponent开发,前端支持与React、Vue等任何框架集成,后端支持Java、Node.js、Python等语言,助力传统应用快速AI转型。该框架代码库轻量,学习成本低,能轻松应对简单任务编排和复杂多模态推理
Python classmethod函数
晓之以理的喵~~
Python python 开发语言
在Python编程中,classmethod()函数是一个内置函数,用于定义类方法。类方法是绑定到类而不是实例的方法,可以通过类名直接调用,并且可以访问类的属性和方法。本文将深入探讨Python中的classmethod()函数,包括基本用法、与实例方法的区别、应用场景,并提供丰富的示例代码来帮助更好地理解和使用classmethod()函数。什么是classmethod()函数?classmet
python画图怎么调色_Python气象数据处理与绘图(19):如何使用NCL色板(调色盘思路相同)...
weixin_39710295
python画图怎么调色
一、使用NCL色板(使用调色盘文件思路相同)NCL的色板十分丰富,几乎可以涵盖平常所需。详见:传送门那么我们能否将NCL的色板用在python中呢?答案当然是可以的。我在气象家园发现了个帖子,楼主自己封装了一个包,可以在python中调用NCL的色板,详见:传送门,一般来说这个包足够大家日常使用了。一些想进一步了解原理并且进行扩展应用的朋友,可以接着往下看。其基本原理就是读取NCL色板的.rgb文
python中的@classmethod
无脑敲代码,bug漫天飞
编程 python
@classmethod是一个装饰器,用于指示一个方法是一个类方法;类方法是通过类本身来调用的,而不是通过类的实例来调用。类方法接收的第一个参数是类本身(通常命名为cls),而不是类的实例。用处:创建类的实例。使用类方法作为工厂函数,可以隐藏对象的创建细节,并在创建对象时执行一些额外的逻辑.由于类方法接收的是类本身作为第一个参数,因此它们可以用于修改类级别的状态或属性。代码案例:classMyCl
PYQT5的UI转换报错:fatal python error: _pyinterpreterstate_get(): no current thread state解决办法
QX大黄蜂
python ui qt python
使用QT可视化工具设计界面,在将UI文件转换为py文件的时候报错:fatalpythonerror:_pyinterpreterstate_get():nocurrentthreadstatepythonrun原因可能是python版本与QT不兼容,具体原因不知道解决办法:使用以下配置将UI转换为py,再将py文件给其它程序调用python版本:3.7.1pyqt5版本:5.11.3pyqt5-t
Python 数据分析实战:宠物经济行业发展洞察
萧十一郎@
python python 数据分析 宠物
目录一、案例背景二、代码实现2.1数据收集2.2数据探索性分析2.3数据清洗2.4数据分析2.4.1宠物用品用户满意度分析2.4.2宠物用品销售与价格关系分析2.4.3宠物经济行业未来发展预测三、主要的代码难点解析3.1数据收集3.2数据清洗-销售数据处理3.3数据分析-宠物用品用户满意度分析3.4数据分析-宠物用品销售与价格关系分析3.5数据可视化四、可能改进的代码4.1数据收集改进4.2数据清
一文搞懂python中常用的装饰器(@classmethod、@property、@staticmethod、@abstractmethod......)
NosONE
python python
本文分为两部分,第一部分是介绍python中常见的装饰器。另一部分是自定义装饰器,包括了一些非常好用的自定义装饰器。一文搞懂python中常用的装饰器常见的几个装饰器介绍及示例@classmethod装饰器基本用法@property、@setter装饰器基本用法@staticmethod装饰器基本用法@abstractmethod装饰器基本用法自定义装饰器类装饰器非常好用的自定义装饰器常见的几个装
python @classmethod
Mmnnnbb123
python java 开发语言
1..什么是classmethodclassmethod是用来指定一个类的方法为类方法长的像下面这个样子123classcc:@classmethoddeff(cls,arg1,arg2,...):...cls通常用作类方法的第一参数跟self有点类似(__init__里面的slef通常用作实例方法的第一参数)。即通常用self来传递当前类对象的实例,cls传递当前类对象。self和cls没有特别
Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding
CCLZMY
python 开发语言 后端
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入D:\Metag
【收藏】如何优雅的在 Python matplotlib 中可视化矩阵,以及cmap色带设置
Think Spatial 空间思维
Python骚操作合集 python matplotlib 可视化 矩阵 cmap
有时需要将numpy矩阵绘制出来看趋势,这时候可以使用plt.imshow()方法来可视化同时还需要对cmap进行设置,使用不同的色带,达到更好的可视化效果。代码importnumpyasnpfrommatplotlibimportpyplotaspltdata2D=np.random.random((50,50)
如何在 virtualenv 中从 python scipt 运行 Tensorboard?
潮易
python virtualenv 开发语言
如何在virtualenv中从pythonscipt运行Tensorboard?要在virtualenv中从Pythonscript运行TensorBoard,你需要遵循以下步骤:1.安装TensorBoard:确保你已经安装了TensorBoard。如果还没有安装,可以通过pip安装:```bashpipinstalltensorboard```2.在你的项目目录下创建一个日志目录(logdir
外星人入侵-Python-二
Java版蜡笔小新
Python python pygame 开发语言
武装飞船开发一个名为《外星人入侵》的游戏吧!为此将使用Pygame,这是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,让你能够更轻松地开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,可将重点放在程序的高级逻辑上。你将安装Pygame,再创建一艘能够根据用户输入左右移动和射击的飞船。在接下来的两章,你将创建一群作为射杀目标的外星人,并改进该游戏:限制可供玩家使用的飞船数,
Jira获取story信息更新子任务状态脚本技术实现
吾爱乐享
w w w w . f e n
title:Jira获取story信息更新子任务状态脚本技术实现tags:-Jiracategories:-Jira一、项目背景在Jira项目管理系统中,当story主任务处于特定状态(如“READYFORPM”或“已关闭”)时,需要对其所有子任务的状态进行更新。为了实现这一自动化操作,编写了一个Python脚本,以提高工作效率和准确性。二、技术选型编程语言:Python,因其简洁易读的语法和丰富
元数据驱动的设想
吾爱乐享
python
title:元数据驱动的设想tags:pythoncategories:python文章目录1.背景针对相似结构的表单,为了提高ui自动化编写效率,减少以减少重复工作,设想是否可以设计一个针对neoUI2.0通过元数据驱动的方式适应不同业务对象的测试框架2.设计元数据模型-字段名-字段类型-是否必填-是否只读-默认值-业务逻辑(可选,后期扩展)3.构建自动化测试框架利用现有的RF框架已实现的功能,
在Robot Framework中Run Keyword If的用法
吾爱乐享
Robot Framework Robot Framework
基本用法使用ELSE使用ELSEIF使用内置变量使用Python表达式本文永久更新地址:在RobotFramework中,RunKeywordIf是一个条件执行的关键字,它允许根据某个条件来决定是否执行某个关键字。下面是RunKeywordIf的基本用法:RunKeywordIfconditionkeyword...ELSEkeyword这里的condition是一个表达式,如果该表达式为真(即条
Python实战:开发经典猜拳游戏(石头剪刀布)
藍海琴泉
游戏
目录引言:为什么选择猜拳游戏作为入门项目?第一部分:基础知识点与代码实现1.游戏逻辑与流程2.代码分步实现2.1导入必要模块2.2定义游戏规则函数2.3生成计算机选择2.4判断胜负逻辑2.5主循环与交互3.代码运行效果示例第二部分:功能扩展与优化1.添加计分系统2.支持多轮游戏与退出选择3.增加图形化界面(可选)第三部分:进一步学习方向1.深化游戏功能2.学习相关知识3.书籍与资源推荐适合人群:编
Python函数完全解读:从零基础到高阶实战
藍海琴泉
python 开发语言
目标读者:编程新手|转行者|需系统掌握函数用法的开发者目录一、函数是什么?为什么需要函数?二、函数基础语法详解1.定义与调用2.返回值:函数的输出结果3.参数传递机制4.案例:计算BMI指数三、变量作用域:理解局部与全局1.局部变量2.全局变量四、函数进阶:lambda与高阶函数1.lambda匿名函数2.高阶函数五、函数高级特性1.装饰器:增强函数功能2.递归函数六、实战案例:文件处理工具一、函
本地部署deepseek-r1:14b 批量调用 Python调用本地deepseek-r1:14b实现对本地数据库的AI管理
朴拙Python交易猿
python 数据库 开发语言
这篇文章主要为大家详细介绍了Python如何基于DeepSeek模型,调用本地deepseek-r1:14b实现对本地数据库的AI管理场景描述基于DeepSeek模型,实现对本地数据库的AI管理。实现思路1、本地python+flask搭建个WEB,配置数据源。2、通过DeepSeek模型根据用户输入的文字需求,自动生成SQL语句。3、通过SQL执行按钮,实现对数据库的增删改查。模型服务方法1启动
Matplotlib 柱形图
lly202406
开发语言
Matplotlib柱形图引言在数据可视化领域,柱形图是一种非常常见且强大的图表类型。它能够帮助我们直观地比较不同类别或组之间的数据大小。Matplotlib,作为Python中最受欢迎的数据可视化库之一,提供了丰富的绘图功能,其中包括创建柱形图。本文将详细介绍Matplotlib中的柱形图,包括其基本用法、高级特性以及如何进行优化。基本用法安装Matplotlib在开始使用Matplotlib之
Matplotlib如何创建交互式图表?
EdgarBertram
matplotlib
Matplotlib是一个强大的Python绘图库,它可以用于生成高质量的静态图像。然而,Matplotlib同样支持创建交互式图表,这对于数据分析和可视化非常有用。交互式图表允许用户通过交互方式探索数据,例如缩放、平移或者查询数据点。下面我们将详细介绍如何使用Matplotlib创建交互式图表。一、安装与配置首先,确保你已经安装了Matplotlib库。你可以使用pip来安装:bash复制代码p
如何用PHP开发一个api数据接口
幽蓝计划
php
对于一个iOS开发者来说,我一直觉得会写接口是一件很酷的事情,因为它可以实时修改前台数据,而不像App一样需要更新版本和接受审核。更重要的是,它意味着你的技术完成了一个闭环,可以独自完成一整个项目的开发。PHP是我接触的第一个脚本语言,使用之后更是感觉PHP功能强大,开发过程非常友好方便,虽然之后也学习过Python、JavaScript等语言,但现在还是习惯使用PHP,下面就来介绍一下如何用PH
使用E2B数据分析沙盒进行文件分析
qahaj
数据分析 数据挖掘 python
使用E2B数据分析沙盒进行文件分析在现代数据分析中,运行环境的安全性与灵活性是确保数据处理高效可靠的关键因素。E2B提供了一个数据分析沙盒,能够在隔离的环境中安全地执行代码,非常适合构建诸如代码解释器或类似于ChatGPT的高级数据分析工具。在这篇文章中,我将演示如何使用E2B的数据分析沙盒来对上传的文件进行分析,为您提供一个强大的Python代码示例。核心原理解析E2B的数据分析沙盒为开发者提供
Python笔记——DeprecationWarning
小橘猫cate
Python python 开发语言
定义如下阶跃函数时出现警告,defstep_function(x):returnnp.array(x>0,dtype=np.int)DeprecationWarning:`np.int`isadeprecatedaliasforthebuiltin`int`.Tosilencethiswarning,use`int`byitself.Doingthiswillnotmodifyanybehavio
使用 ArcGIS 和 Python 进行地理信息系统(GIS)分析
scaFHIO
arcgis python java
在本篇文章中,我们将探讨如何利用ArcGIS和Python进行地理信息系统(GIS)分析。ArcGIS是由Esri开发和维护的一系列GIS软件,包括客户端、服务器和在线解决方案。本文主要聚焦于如何使用Python和arcgis库来实现GIS功能。技术背景介绍ArcGIS提供了功能强大的工具来进行矢量和栅格分析、地理编码、地图制作以及路线和路径规划。通过arcgisPython库,我们可以访问Esr
DeprecationWarning: 无效的转义序列‘\/‘解决方案
数据科学智慧
linux 运维 服务器 Python
DeprecationWarning:无效的转义序列’/'解决方案在Python编程中,您可能会遇到"DeprecationWarning:无效的转义序列’/'"的警告消息。这个警告通常在您尝试使用无效的转义序列时出现,例如在正则表达式或字符串中。本文将为您提供解决方案,以解决这个问题。首先,让我们了解一下转义序列的概念。在Python中,某些字符前面带有反斜杠(\),以表示特殊含义,例如换行符(
python做飞机大战让敌机打子弹_python(pygame)滑稽大战(类似飞机大战) 教程
青云若水
初始准备工作本项目使用的python3版本(如果你用python2,我不知会怎么样)Ide推荐大家选择pycharm(不同ide应该没影响)需要安装第三方库pygame,pygame安装方法(windows电脑,mac系统本人实测与pygame不兼容,强行运行本项目卡成ppt)电脑打开cmd命令窗口,输入pip3installpygame补充说明:由于众所周知的原因,安装过程中下载可能十分缓慢,甚
jvm调优总结(从基本概念 到 深度优化)
oloz
java jvm jdk 虚拟机 应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java 更新 swing JTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
FineReport的公式编辑框的语法简介
老A不折腾
finereport 公式 总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
linux mysql 数据库乱码的解决办法
墙头上一根草
linux mysql 数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
mysql 基准测试之sysbench
annan211
基准测试 mysql基准测试 MySQL测试 sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
sql的复杂查询使用案列与技巧
百合不是茶
oracle sql 函数 数据分页 合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
深入学习Thread类
bijian1013
java thread 多线程 java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
java fastjson net.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtils BeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
[金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
vi区段删除
Cwind
linux vi 区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
清除tomcat缓存的方法总结
dashuaifu
tomcat 缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Web less
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
[入门]更上一层楼
dcj3sjt126com
PHP yii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
Apache HttpClient使用详解
eksliang
httpclient http协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
zxing二维码扫描功能
gundumw100
android zxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
纯HTML+CSS带说明的黄色导航菜单
ini
html Web html5 css hovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
fastjson初始化对性能的影响
kane_xie
fastjson 序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
java 计时器应用
tangqi609567707
java timer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s