User Tools

Site Tools


tutorials:python_quick_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:python_quick_reference [2021/05/01 16:26]
marcus.williams [Setting and filling data]
tutorials:python_quick_reference [2021/08/06 22:20] (current)
marcus.williams [Data interrogation]
Line 76: Line 76:
 <​code>​ <​code>​
 df_structure = gpd.read_file(myLayers.gdb,​ layer='​structure'​) df_structure = gpd.read_file(myLayers.gdb,​ layer='​structure'​)
 +</​code>​
 +
 +Round trip export/​import for json files, as Python dictionaries or lists. Requires ''​import json''​.
 +
 +<​code>​
 +filename = '​folderX/​list_CEUDSector_ind.json'​
 +with open(filename,​ '​w',​ encoding='​utf-8'​) as f:
 +    json.dump(l_CEUDSector_ind,​ f, ensure_ascii=False,​ indent=4)
 +</​code>​
 +
 +<​code>​
 +filename = '​folderX/​list_CEUDSector_ind.json'​
 +with open(filename) as data_file:
 +    l_CEUDSector_ind= json.load(data_file)
 </​code>​ </​code>​
  
Line 105: Line 119:
 <​code>​ <​code>​
 pt_structure = pd.pivot_table(df_structure,​ pt_structure = pd.pivot_table(df_structure,​
-    '​OBJECTID',​+    ​values='​OBJECTID',​
     index=['​propType'​],​     index=['​propType'​],​
     columns=['​strucType'​],​     columns=['​strucType'​],​
-    margins=True+    margins=False
-    aggfunc=len)+    aggfunc=np.sum)
 </​code>​ </​code>​
 [[http://​pandas.pydata.org/​pandas-docs/​stable/​generated/​pandas.pivot_table.html#​pandas.pivot_table|ref]] | [[http://​pandas.pydata.org/​pandas-docs/​stable/​generated/​pandas.pivot_table.html#​pandas.pivot_table|ref]] |
Line 172: Line 186:
 df.reset_index() df.reset_index()
 </​code>​ </​code>​
 +
 +Remove an unwanted level
 +<​code>​
 +df.columns = df.columns.get_level_values('​CEUDEndUse_res'​)
 +</​code>​
 +
 ===== Dropping/​deleting data ===== ===== Dropping/​deleting data =====
  
Line 414: Line 434:
 git pull origin master git pull origin master
 </​code>​ </​code>​
 +
 +===== Handy Matrix & Vector Operations =====
 +
 +**shares / norm**
 +
 +each row sums to 1
 +<​code>​
 +df_shr = df_quantity.div(df_quantity.sum(axis='​columns'​),​ axis='​index'​))
 +</​code>​
 +
 +each column sums to 1
 +<​code>​
 +df_shr = df_quantity.div(df_quantity.sum(axis='​index'​),​ axis='​columns'​))
 +</​code>  ​
 +
 +===== Jupyter Notebook Markdown Tricks ===== 
 +Links
 +<​code>​
 +[Github](http://​github.com)
 +</​code>​
 +
 +
 +Embed an image
 +<​code>​
 +![title](img/​S_res_1.png)
 +</​code>​
 +
 +===== Python Debugger (PDB) ===== 
 +[[https://​docs.python.org/​3/​library/​pdb.html|ref]]
 +
 +<​code>​
 +import pdb; pdb.set_trace()
 +</​code>​
 +
 +''​n''​ for next line; ''​c''​ to continue; ''​s''​ for step; ''​exit''​ for exit
 ===== Other functions ===== ===== Other functions =====
 ==== A ==== ==== A ====
Line 539: Line 594:
 <​code>​ <​code>​
 set([1,​2,​3]) - set([2,​3,​4]) set([1,​2,​3]) - set([2,​3,​4])
 +</​code>​
 +
 +See other set [[https://​www.w3schools.com/​python/​python_ref_set.asp|operations]] including:
 +<​code>​
 +set1.union(set2)
 +set1.intersection(set2)
 </​code>​ </​code>​
 ==== T ==== ==== T ====
tutorials/python_quick_reference.1619886409.txt.gz · Last modified: 2021/05/01 16:26 by marcus.williams