博文

读写geojson和shp文件

 library(sf) library(tidyverse) 读写geojson shi <- st_read("C:\\Users\\ruiying\\Desktop\\shi.geojson") st_write(shi, "C:\\Users\\ruiying\\Desktop\\shi2.geojson",append=F) 读写json weihai <- st_read("D:\\使用GEOJSON数据绘制地图\\威海市.json") st_write(weihai %>% select(name,adcode),"C:\\Users\\ruiying\\Desktop\\weihai.geojson") st_write(meuse_sf,"weihai.shp") st_write(meuse_sf,"weihai.geojson",append = F) st_write(meuse_sf,"weihai.json",driver = 'GeoJSON',append = F) st_write(meuse_sf,"weihai.gpkg",append = F) test <- st_read('C:\\Users\\ruiying\\Desktop\\shi.geojson')

填充地图

 shi %>%    left_join(shi_df,by=c('市代码'='市代码')) %>%    filter(str_detect(市代码,'^62')) %>%    ggplot()+   geom_sf(aes(fill=bl),size=0.01)+   scale_fill_gradientn(breaks = c(15,30,45),                        colors=c("gray", "yellow", "orange", "red"))

R 分层抽样

 library(sampling) mtcars_order <- mtcars %>% arrange(gear) mtcars_order %>% group_by(gear) %>% summarise(n=n()) smn <- round(prop.table(table(mtcars_order$gear))*10) stratID <- strata(mtcars_order,stratanames='gear',size = smn,method = 'srswor') head(stratID) strat<-getdata(mtcars_order,stratID) library(doBy) mtcars %>% group_by(am,gear) %>% summarise(n=n()) mtcars %>% group_by(am) %>% summarise(n=n()) sampleBy(formula = ~ iris$Species,frac=0.1,data=iris) sample_by(mtcars,formula = ~am+gear,frac = 0.2)

分组按量抽样

 df <- data.frame(id = 1:15,                  grp = rep(1:3,each = 5),                   frq = rep(c(3,2,4), each = 5)) set.seed(22) df %>%   group_by(grp) %>%                                 # for every group   summarise(d = list(data.frame(id=id)),            # create a data frame of ids             frq = unique(frq)) %>%                  # get the unique frq value   mutate(v = map2(d, frq, ~sample_n(.x, .y))) %>%   # sample using data frame of ids and frq value   unnest(v) %>%                                     # unnest sampled values   select(-frq)...

指定csv文件编码方式读入

 xzqh <- read.csv('./Documents/地区编码.csv', fileEncoding = "GBK",stringsAsFactors=FALSE) # locale:locale参数是 readr 包中很重要的一个参数,指定日期使用的月和日的名称,时区,字符编码,日期格式,数字的小数和点位数和分隔符。 xzqh <- read_csv('./Documents/地区编码.csv',                   locale = locale(date_format = "%Y/%m/%d",                                  time_format = "h%Hm%Ms%S %p",                                  encoding = 'GBK',                                  tz = 'Asia/Shanghai'))

pandas 分组统计

  import  numpy  as  np import  pandas  as  pd df=pd.read_excel( r 'C: \U sers \r uiying \D esktop \评 审结果 . xlsx' ) df[ 'xiang' ]=df[ 'jgbm' ].str[ 0 : 8 ] df[ 'xiang' ].count() df[ 'xiang' ].value_counts() df[df[ 'pdjb_bm' ]>= 3 ][ 'pdjb_bm' ].count() df[ 'xiang' ].drop_duplicates().count() df.describe() result=df.groupby( 'xiang' ).apply( lambda  x: x[x[ 'pdjb_bm' ]>= 3 ][ 'pdjb_bm' ].count()).to_frame() type (result) result.head() result.columns=[ 'xiang' , 'num' ] result.describe() result.columns result.rename( columns ={ 'xiang' : 'xian' }, inplace = True ) result.to_csv( r 'C: \U sers \r uiying \D esktop \结 果 . csv' )

cx_Oracle 链接

  import  cx_Oracle import  os import  re import  math import  pandas  as  pd import  numpy  as  np from  sqlalchemy  import  create_engine from  sqlalchemy.engine  import  url from  id_validator  import  validator from  matplotlib  import  pyplot  as  plt  os.environ[ 'NLS_LANG' ] =  'AMERICAN_AMERICA.ZHS16GBK' sqltxt= ''' select jz_sj,ym_mc,jzdd_dm from inoc_jzjl where jz_sj >=to_date('2020-01-01','yyyy-mm-dd') and jz_sj <=to_date('2020-08-30','yyyy-mm-dd') and sfmf=1 ''' con = cx_Oracle.connect( "****" ,  "********" ,  "192.168.30.48/JZDB1" ) jzjl = pd.read_sql(sqltxt,con)