py2ls 0.2.3__py3-none-any.whl → 0.2.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2ls/.DS_Store +0 -0
- py2ls/data/usages_pd.json +54 -54
- py2ls/data/usages_sns.json +23 -23
- py2ls/{update2usage.py → fetch_update.py} +9 -8
- py2ls/ips.py +180 -56
- py2ls/netfinder.py +18 -5
- py2ls/plot.py +198 -22
- {py2ls-0.2.3.dist-info → py2ls-0.2.4.1.dist-info}/METADATA +1 -1
- {py2ls-0.2.3.dist-info → py2ls-0.2.4.1.dist-info}/RECORD +10 -10
- {py2ls-0.2.3.dist-info → py2ls-0.2.4.1.dist-info}/WHEEL +0 -0
py2ls/.DS_Store
CHANGED
Binary file
|
py2ls/data/usages_pd.json
CHANGED
@@ -1,56 +1,56 @@
|
|
1
1
|
{
|
2
|
-
"pd.read_pickle": "pd.read_pickle(filepath_or_buffer,compression='infer',storage_options=None)",
|
3
|
-
"df.to_pickle": "df.to_pickle(path,*,compression='infer',protocol=5,storage_options=None)",
|
4
|
-
"pd.read_table": "pd.read_table(filepath_or_buffer,*,sep=<no_default>,delimiter=None,header='infer',names=<no_default>,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=<no_default>,skip_blank_lines=True,parse_dates=False,infer_datetime_format=<no_default>,keep_date_col=<no_default>,date_parser=<no_default>,date_format=None,dayfirst=False,cache_dates=True,iterator=False,chunksize=None,compression='infer',thousands=None,decimal='.',lineterminator=None,quotechar='\"',quoting=0,doublequote=True,escapechar=None,comment=None,encoding=None,encoding_errors='strict',dialect=None,on_bad_lines='error',delim_whitespace=<no_default>,low_memory=True,memory_map=False,float_precision=None,storage_options=None,dtype_backend=<no_default>)",
|
5
|
-
"pd.read_csv": "pd.read_csv(filepath_or_buffer,*,sep=<no_default>,delimiter=None,header='infer',names=<no_default>,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=<no_default>,skip_blank_lines=True,parse_dates=None,infer_datetime_format=<no_default>,keep_date_col=<no_default>,date_parser=<no_default>,date_format=None,dayfirst=False,cache_dates=True,iterator=False,chunksize=None,compression='infer',thousands=None,decimal='.',lineterminator=None,quotechar='\"',quoting=0,doublequote=True,escapechar=None,comment=None,encoding=None,encoding_errors='strict',dialect=None,on_bad_lines='error',delim_whitespace=<no_default>,low_memory=True,memory_map=False,float_precision=None,storage_options=None,dtype_backend=<no_default>)",
|
6
|
-
"df.to_csv": "df.to_csv(path_or_buf=None,*,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w',encoding=None,compression='infer',quoting=None,quotechar='\"',lineterminator=None,chunksize=None,date_format=None,doublequote=True,escapechar=None,decimal='.',errors='strict',storage_options=None)",
|
7
|
-
"pd.read_fwf": "pd.read_fwf(filepath_or_buffer,*,colspecs='infer',widths=None,infer_nrows=100,dtype_backend=<no_default>,iterator=False,chunksize=None,**kwds)",
|
8
|
-
"pd.read_clipboard": "pd.read_clipboard(sep='\\\\s+',dtype_backend=<no_default>,**kwargs)",
|
9
|
-
"pd.read_excel": "pd.read_excel(io,sheet_name=0,*,header=0,names=None,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=False,parse_dates=False,date_parser=<no_default>,date_format=None,thousands=None,decimal='.',comment=None,skipfooter=0,storage_options=None,dtype_backend=<no_default>,engine_kwargs=None)",
|
10
|
-
"df.to_excel": "df.to_excel(excel_writer,*,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,inf_rep='inf',freeze_panes=None,storage_options=None,engine_kwargs=None)",
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"ExcelFile.parse": "ExcelFile.parse(sheet_name=0,header=0,names=None,index_col=None,usecols=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,parse_dates=False,date_parser=<no_default>,date_format=None,thousands=None,comment=None,skipfooter=0,dtype_backend=<no_default>,**kwds)",
|
15
|
-
"Styler.to_excel": "Styler.to_excel(excel_writer,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep='inf',verbose=True,freeze_panes=None,storage_options=None)",
|
16
|
-
"
|
17
|
-
"pd.read_json": "pd.read_json(path_or_buf,*,orient=None,typ='frame',dtype=None,convert_axes=None,convert_dates=True,keep_default_dates=True,precise_float=False,date_unit=None,encoding=None,encoding_errors='strict',lines=False,chunksize=None,compression='infer',nrows=None,storage_options=None,dtype_backend=<no_default>,engine='ujson')",
|
18
|
-
"pd.json_normalize": "pd.json_normalize(data,record_path=None,meta=None,meta_prefix=None,record_prefix=None,errors='raise',sep='.',max_level=None)",
|
19
|
-
"df.to_json": "df.to_json(path_or_buf=None,*,orient=None,date_format=None,double_precision=10,force_ascii=True,date_unit='ms',default_handler=None,lines=False,compression='infer',index=None,indent=None,storage_options=None,mode='w')",
|
20
|
-
"pd.io.json.build_table_schema": "pd.io.json.build_table_schema(data,index=True,primary_key=None,version=True)",
|
21
|
-
"pd.read_html": "pd.read_html(io,*,match='.+',flavor=None,header=None,index_col=None,skiprows=None,attrs=None,parse_dates=False,thousands=',',encoding=None,decimal='.',converters=None,na_values=None,keep_default_na=True,displayed_only=True,extract_links=None,dtype_backend=<no_default>,storage_options=None)",
|
22
|
-
"df.to_html": "df.to_html(buf=None,*,columns=None,col_space=None,header=True,index=True,na_rep='NaN',formatters=None,float_format=None,sparsify=None,index_names=True,justify=None,max_rows=None,max_cols=None,show_dimensions=False,decimal='.',bold_rows=True,classes=None,escape=True,notebook=False,border=None,table_id=None,render_links=False,encoding=None)",
|
23
|
-
"Styler.to_html": "Styler.to_html(buf=None,*,table_uuid=None,table_attributes=None,sparse_index=None,sparse_columns=None,bold_headers=False,caption=None,max_rows=None,max_columns=None,encoding=None,doctype_html=False,exclude_styles=False,**kwargs)",
|
24
|
-
"pd.read_xml": "pd.read_xml(path_or_buffer,*,xpath='./*',namespaces=None,elems_only=False,attrs_only=False,names=None,dtype=None,converters=None,parse_dates=None,encoding='utf-8',parser='lxml',stylesheet=None,iterparse=None,compression='infer',storage_options=None,dtype_backend=<no_default>)",
|
25
|
-
"df.to_xml": "df.to_xml(path_or_buffer=None,*,index=True,root_name='data',row_name='row',na_rep=None,attr_cols=None,elem_cols=None,namespaces=None,prefix=None,encoding='utf-8',xml_declaration=True,pretty_print=True,parser='lxml',stylesheet=None,compression='infer',storage_options=None)",
|
26
|
-
"df.to_latex": "df.to_latex(buf=None,*,columns=None,header=True,index=True,na_rep='NaN',formatters=None,float_format=None,sparsify=None,index_names=True,bold_rows=False,column_format=None,longtable=None,escape=None,encoding=None,decimal='.',multicolumn=None,multicolumn_format=None,multirow=None,caption=None,label=None,position=None)",
|
27
|
-
"Styler.to_latex": "Styler.to_latex(buf=None,*,column_format=None,position=None,position_float=None,hrules=None,clines=None,label=None,caption=None,sparse_index=None,sparse_columns=None,multirow_align=None,multicol_align=None,siunitx=False,environment=None,encoding=None,convert_css=False)",
|
28
|
-
"pd.read_hdf": "pd.read_hdf(path_or_buf,key=None,mode='r',errors='strict',where=None,start=None,stop=None,columns=None,iterator=False,chunksize=None,**kwargs)",
|
29
|
-
"HDFStore.put": "HDFStore.put(key,value,format=None,index=True,append=False,complib=None,complevel=None,min_itemsize=None,nan_rep=None,data_columns=None,encoding=None,errors='strict',track_times=True,dropna=False)",
|
30
|
-
"HDFStore.append": "HDFStore.append(key,value,format=None,axes=None,index=True,append=True,complib=None,complevel=None,columns=None,min_itemsize=None,nan_rep=None,chunksize=None,expectedrows=None,dropna=None,data_columns=None,encoding=None,errors='strict')",
|
31
|
-
"HDFStore.get": "HDFStore.get(key)",
|
32
|
-
"HDFStore.select": "HDFStore.select(key,where=None,start=None,stop=None,columns=None,iterator=False,chunksize=None,auto_close=False)",
|
33
|
-
"HDFStore.info": "HDFStore.info()",
|
34
|
-
"HDFStore.keys": "HDFStore.keys(include='pandas')",
|
35
|
-
"HDFStore.groups": "HDFStore.groups()",
|
36
|
-
"HDFStore.walk": "HDFStore.walk(where='/')",
|
37
|
-
"pd.read_feather": "pd.read_feather(path,columns=None,use_threads=True,storage_options=None,dtype_backend=<no_default>)",
|
38
|
-
"df.to_feather": "df.to_feather(path,**kwargs)",
|
39
|
-
"pd.read_parquet": "pd.read_parquet(path,engine='auto',columns=None,storage_options=None,use_nullable_dtypes=<no_default>,dtype_backend=<no_default>,filesystem=None,filters=None,**kwargs)",
|
40
|
-
"df.to_parquet": "df.to_parquet(path=None,*,engine='auto',compression='snappy',index=None,partition_cols=None,storage_options=None,**kwargs)",
|
41
|
-
"pd.read_orc": "pd.read_orc(path,columns=None,dtype_backend=<no_default>,filesystem=None,**kwargs)",
|
42
|
-
"df.to_orc": "df.to_orc(path=None,*,engine='pyarrow',index=None,engine_kwargs=None)",
|
43
|
-
"pd.read_sas": "pd.read_sas(filepath_or_buffer,*,format=None,index=None,encoding=None,chunksize=None,iterator=False,compression='infer')",
|
44
|
-
"pd.read_spss": "pd.read_spss(path,usecols=None,convert_categoricals=True,dtype_backend=<no_default>)",
|
45
|
-
"pd.read_sql_table": "pd.read_sql_table(table_name,con,schema=None,index_col=None,coerce_float=True,parse_dates=None,columns=None,chunksize=None,dtype_backend=<no_default>)",
|
46
|
-
"pd.read_sql_query": "pd.read_sql_query(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,chunksize=None,dtype=None,dtype_backend=<no_default>)",
|
47
|
-
"pd.read_sql": "pd.read_sql(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,columns=None,chunksize=None,dtype_backend=<no_default>,dtype=None)",
|
48
|
-
"df.to_sql": "df.to_sql(name,con,*,schema=None,if_exists='fail',index=True,index_label=None,chunksize=None,dtype=None,method=None)",
|
49
|
-
"pd.read_gbq": "pd.read_gbq(query,project_id=None,index_col=None,col_order=None,reauth=False,auth_local_webserver=True,dialect=None,location=None,configuration=None,credentials=None,use_bqstorage_api=None,max_results=None,progress_bar_type=None)",
|
50
|
-
"pd.read_stata": "pd.read_stata(filepath_or_buffer,*,convert_dates=True,convert_categoricals=True,index_col=None,convert_missing=False,preserve_dtypes=True,columns=None,order_categoricals=True,chunksize=None,iterator=False,compression='infer',storage_options=None)",
|
51
|
-
"df.to_stata": "df.to_stata(path,*,convert_dates=None,write_index=True,byteorder=None,time_stamp=None,data_label=None,variable_labels=None,version=114,convert_strl=None,compression='infer',storage_options=None,value_labels=None)",
|
52
|
-
"
|
53
|
-
"StataReader.value_labels": "StataReader.value_labels()",
|
54
|
-
"StataReader.variable_labels": "StataReader.variable_labels()",
|
55
|
-
"StataWriter.write_file": "StataWriter.write_file()"
|
2
|
+
"pd.read_pickle": "pd.read_pickle(filepath_or_buffer,compression='infer',storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_pickle.html",
|
3
|
+
"df.to_pickle": "df.to_pickle(path,*,compression='infer',protocol=5,storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_pickle.html",
|
4
|
+
"pd.read_table": "pd.read_table(filepath_or_buffer,*,sep=<no_default>,delimiter=None,header='infer',names=<no_default>,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=<no_default>,skip_blank_lines=True,parse_dates=False,infer_datetime_format=<no_default>,keep_date_col=<no_default>,date_parser=<no_default>,date_format=None,dayfirst=False,cache_dates=True,iterator=False,chunksize=None,compression='infer',thousands=None,decimal='.',lineterminator=None,quotechar='\"',quoting=0,doublequote=True,escapechar=None,comment=None,encoding=None,encoding_errors='strict',dialect=None,on_bad_lines='error',delim_whitespace=<no_default>,low_memory=True,memory_map=False,float_precision=None,storage_options=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_table.html",
|
5
|
+
"pd.read_csv": "pd.read_csv(filepath_or_buffer,*,sep=<no_default>,delimiter=None,header='infer',names=<no_default>,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=<no_default>,skip_blank_lines=True,parse_dates=None,infer_datetime_format=<no_default>,keep_date_col=<no_default>,date_parser=<no_default>,date_format=None,dayfirst=False,cache_dates=True,iterator=False,chunksize=None,compression='infer',thousands=None,decimal='.',lineterminator=None,quotechar='\"',quoting=0,doublequote=True,escapechar=None,comment=None,encoding=None,encoding_errors='strict',dialect=None,on_bad_lines='error',delim_whitespace=<no_default>,low_memory=True,memory_map=False,float_precision=None,storage_options=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_csv.html",
|
6
|
+
"df.to_csv": "df.to_csv(path_or_buf=None,*,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w',encoding=None,compression='infer',quoting=None,quotechar='\"',lineterminator=None,chunksize=None,date_format=None,doublequote=True,escapechar=None,decimal='.',errors='strict',storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html#pandas.DataFrame.to_csv",
|
7
|
+
"pd.read_fwf": "pd.read_fwf(filepath_or_buffer,*,colspecs='infer',widths=None,infer_nrows=100,dtype_backend=<no_default>,iterator=False,chunksize=None,**kwds)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_fwf.html",
|
8
|
+
"pd.read_clipboard": "pd.read_clipboard(sep='\\\\s+',dtype_backend=<no_default>,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_clipboard.html#pandas.read_clipboard",
|
9
|
+
"pd.read_excel": "pd.read_excel(io,sheet_name=0,*,header=0,names=None,index_col=None,usecols=None,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,keep_default_na=True,na_filter=True,verbose=False,parse_dates=False,date_parser=<no_default>,date_format=None,thousands=None,decimal='.',comment=None,skipfooter=0,storage_options=None,dtype_backend=<no_default>,engine_kwargs=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_excel.html",
|
10
|
+
"df.to_excel": "df.to_excel(excel_writer,*,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,inf_rep='inf',freeze_panes=None,storage_options=None,engine_kwargs=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html",
|
11
|
+
"pandas.ExcelFile": "pandas.ExcelFile(path_or_buffer,engine=None,storage_options=None,engine_kwargs=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.ExcelFile.html",
|
12
|
+
"ExcelFile.book": "ExcelFile.book\nhttps://pandas.pydata.org/docs/reference/api/pandas.ExcelFile.book.html",
|
13
|
+
"ExcelFile.sheet_names": "ExcelFile.sheet_names\nhttps://pandas.pydata.org/docs/reference/api/pandas.ExcelFile.sheet_names.html",
|
14
|
+
"ExcelFile.parse": "ExcelFile.parse(sheet_name=0,header=0,names=None,index_col=None,usecols=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,parse_dates=False,date_parser=<no_default>,date_format=None,thousands=None,comment=None,skipfooter=0,dtype_backend=<no_default>,**kwds)\nhttps://pandas.pydata.org/docs/reference/api/pandas.ExcelFile.parse.html",
|
15
|
+
"Styler.to_excel": "Styler.to_excel(excel_writer,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep='inf',verbose=True,freeze_panes=None,storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.formats.style.Styler.to_excel.html",
|
16
|
+
"pandas.ExcelWriter": "pandas.ExcelWriter(path,engine=None,date_format=None,datetime_format=None,mode='w',storage_options=None,if_sheet_exists=None,engine_kwargs=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.ExcelWriter.html",
|
17
|
+
"pd.read_json": "pd.read_json(path_or_buf,*,orient=None,typ='frame',dtype=None,convert_axes=None,convert_dates=True,keep_default_dates=True,precise_float=False,date_unit=None,encoding=None,encoding_errors='strict',lines=False,chunksize=None,compression='infer',nrows=None,storage_options=None,dtype_backend=<no_default>,engine='ujson')\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_json.html",
|
18
|
+
"pd.json_normalize": "pd.json_normalize(data,record_path=None,meta=None,meta_prefix=None,record_prefix=None,errors='raise',sep='.',max_level=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.json_normalize.html",
|
19
|
+
"df.to_json": "df.to_json(path_or_buf=None,*,orient=None,date_format=None,double_precision=10,force_ascii=True,date_unit='ms',default_handler=None,lines=False,compression='infer',index=None,indent=None,storage_options=None,mode='w')\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html",
|
20
|
+
"pd.io.json.build_table_schema": "pd.io.json.build_table_schema(data,index=True,primary_key=None,version=True)\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.json.build_table_schema.html",
|
21
|
+
"pd.read_html": "pd.read_html(io,*,match='.+',flavor=None,header=None,index_col=None,skiprows=None,attrs=None,parse_dates=False,thousands=',',encoding=None,decimal='.',converters=None,na_values=None,keep_default_na=True,displayed_only=True,extract_links=None,dtype_backend=<no_default>,storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_html.html",
|
22
|
+
"df.to_html": "df.to_html(buf=None,*,columns=None,col_space=None,header=True,index=True,na_rep='NaN',formatters=None,float_format=None,sparsify=None,index_names=True,justify=None,max_rows=None,max_cols=None,show_dimensions=False,decimal='.',bold_rows=True,classes=None,escape=True,notebook=False,border=None,table_id=None,render_links=False,encoding=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_html.html",
|
23
|
+
"Styler.to_html": "Styler.to_html(buf=None,*,table_uuid=None,table_attributes=None,sparse_index=None,sparse_columns=None,bold_headers=False,caption=None,max_rows=None,max_columns=None,encoding=None,doctype_html=False,exclude_styles=False,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.formats.style.Styler.to_html.html",
|
24
|
+
"pd.read_xml": "pd.read_xml(path_or_buffer,*,xpath='./*',namespaces=None,elems_only=False,attrs_only=False,names=None,dtype=None,converters=None,parse_dates=None,encoding='utf-8',parser='lxml',stylesheet=None,iterparse=None,compression='infer',storage_options=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_xml.html",
|
25
|
+
"df.to_xml": "df.to_xml(path_or_buffer=None,*,index=True,root_name='data',row_name='row',na_rep=None,attr_cols=None,elem_cols=None,namespaces=None,prefix=None,encoding='utf-8',xml_declaration=True,pretty_print=True,parser='lxml',stylesheet=None,compression='infer',storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_xml.html",
|
26
|
+
"df.to_latex": "df.to_latex(buf=None,*,columns=None,header=True,index=True,na_rep='NaN',formatters=None,float_format=None,sparsify=None,index_names=True,bold_rows=False,column_format=None,longtable=None,escape=None,encoding=None,decimal='.',multicolumn=None,multicolumn_format=None,multirow=None,caption=None,label=None,position=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html",
|
27
|
+
"Styler.to_latex": "Styler.to_latex(buf=None,*,column_format=None,position=None,position_float=None,hrules=None,clines=None,label=None,caption=None,sparse_index=None,sparse_columns=None,multirow_align=None,multicol_align=None,siunitx=False,environment=None,encoding=None,convert_css=False)\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.formats.style.Styler.to_latex.html",
|
28
|
+
"pd.read_hdf": "pd.read_hdf(path_or_buf,key=None,mode='r',errors='strict',where=None,start=None,stop=None,columns=None,iterator=False,chunksize=None,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_hdf.html",
|
29
|
+
"HDFStore.put": "HDFStore.put(key,value,format=None,index=True,append=False,complib=None,complevel=None,min_itemsize=None,nan_rep=None,data_columns=None,encoding=None,errors='strict',track_times=True,dropna=False)\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.put.html",
|
30
|
+
"HDFStore.append": "HDFStore.append(key,value,format=None,axes=None,index=True,append=True,complib=None,complevel=None,columns=None,min_itemsize=None,nan_rep=None,chunksize=None,expectedrows=None,dropna=None,data_columns=None,encoding=None,errors='strict')\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.append.html",
|
31
|
+
"HDFStore.get": "HDFStore.get(key)\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.get.html",
|
32
|
+
"HDFStore.select": "HDFStore.select(key,where=None,start=None,stop=None,columns=None,iterator=False,chunksize=None,auto_close=False)\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.select.html",
|
33
|
+
"HDFStore.info": "HDFStore.info()\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.info.html",
|
34
|
+
"HDFStore.keys": "HDFStore.keys(include='pandas')\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.keys.html",
|
35
|
+
"HDFStore.groups": "HDFStore.groups()\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.groups.html",
|
36
|
+
"HDFStore.walk": "HDFStore.walk(where='/')\nhttps://pandas.pydata.org/docs/reference/api/pandas.HDFStore.walk.html",
|
37
|
+
"pd.read_feather": "pd.read_feather(path,columns=None,use_threads=True,storage_options=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_feather.html",
|
38
|
+
"df.to_feather": "df.to_feather(path,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_feather.html",
|
39
|
+
"pd.read_parquet": "pd.read_parquet(path,engine='auto',columns=None,storage_options=None,use_nullable_dtypes=<no_default>,dtype_backend=<no_default>,filesystem=None,filters=None,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_parquet.html",
|
40
|
+
"df.to_parquet": "df.to_parquet(path=None,*,engine='auto',compression='snappy',index=None,partition_cols=None,storage_options=None,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_parquet.html",
|
41
|
+
"pd.read_orc": "pd.read_orc(path,columns=None,dtype_backend=<no_default>,filesystem=None,**kwargs)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_orc.html",
|
42
|
+
"df.to_orc": "df.to_orc(path=None,*,engine='pyarrow',index=None,engine_kwargs=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_orc.html",
|
43
|
+
"pd.read_sas": "pd.read_sas(filepath_or_buffer,*,format=None,index=None,encoding=None,chunksize=None,iterator=False,compression='infer')\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_sas.html",
|
44
|
+
"pd.read_spss": "pd.read_spss(path,usecols=None,convert_categoricals=True,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_spss.html",
|
45
|
+
"pd.read_sql_table": "pd.read_sql_table(table_name,con,schema=None,index_col=None,coerce_float=True,parse_dates=None,columns=None,chunksize=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_sql_table.html",
|
46
|
+
"pd.read_sql_query": "pd.read_sql_query(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,chunksize=None,dtype=None,dtype_backend=<no_default>)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_sql_query.html",
|
47
|
+
"pd.read_sql": "pd.read_sql(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,columns=None,chunksize=None,dtype_backend=<no_default>,dtype=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_sql.html",
|
48
|
+
"df.to_sql": "df.to_sql(name,con,*,schema=None,if_exists='fail',index=True,index_label=None,chunksize=None,dtype=None,method=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html",
|
49
|
+
"pd.read_gbq": "pd.read_gbq(query,project_id=None,index_col=None,col_order=None,reauth=False,auth_local_webserver=True,dialect=None,location=None,configuration=None,credentials=None,use_bqstorage_api=None,max_results=None,progress_bar_type=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_gbq.html",
|
50
|
+
"pd.read_stata": "pd.read_stata(filepath_or_buffer,*,convert_dates=True,convert_categoricals=True,index_col=None,convert_missing=False,preserve_dtypes=True,columns=None,order_categoricals=True,chunksize=None,iterator=False,compression='infer',storage_options=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.read_stata.html",
|
51
|
+
"df.to_stata": "df.to_stata(path,*,convert_dates=None,write_index=True,byteorder=None,time_stamp=None,data_label=None,variable_labels=None,version=114,convert_strl=None,compression='infer',storage_options=None,value_labels=None)\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_stata.html",
|
52
|
+
"StataReader.data_label": "StataReader.data_label\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.stata.StataReader.data_label.html",
|
53
|
+
"StataReader.value_labels": "StataReader.value_labels()\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.stata.StataReader.value_labels.html",
|
54
|
+
"StataReader.variable_labels": "StataReader.variable_labels()\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.stata.StataReader.variable_labels.html",
|
55
|
+
"StataWriter.write_file": "StataWriter.write_file()\nhttps://pandas.pydata.org/docs/reference/api/pandas.io.stata.StataWriter.write_file.html"
|
56
56
|
}
|
py2ls/data/usages_sns.json
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
{
|
2
|
-
"relplot": "seaborn.relplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,units=None,weights=None,row=None,col=None,col_wrap=None,row_order=None,col_order=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,markers=None,dashes=None,style_order=None,legend='auto',kind='scatter',height=5,aspect=1,facet_kws=None,**kwargs)",
|
3
|
-
"scatterplot": "seaborn.scatterplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,markers=True,style_order=None,legend='auto',ax=None,**kwargs)",
|
4
|
-
"lineplot": "seaborn.lineplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,units=None,weights=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,dashes=True,markers=None,style_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,orient='x',sort=True,err_style='band',err_kws=None,legend='auto',ci='deprecated',ax=None,**kwargs)",
|
5
|
-
"displot": "seaborn.displot(data=None,*,x=None,y=None,hue=None,row=None,col=None,weights=None,kind='hist',rug=False,rug_kws=None,log_scale=None,legend=True,palette=None,hue_order=None,hue_norm=None,color=None,col_wrap=None,row_order=None,col_order=None,height=5,aspect=1,facet_kws=None,**kwargs)",
|
6
|
-
"histplot": "seaborn.histplot(data=None,*,x=None,y=None,hue=None,weights=None,stat='count',bins='auto',binwidth=None,binrange=None,discrete=None,cumulative=False,common_bins=True,common_norm=True,multiple='layer',element='bars',fill=True,shrink=1,kde=False,kde_kws=None,line_kws=None,thresh=0,pthresh=None,pmax=None,cbar=False,cbar_ax=None,cbar_kws=None,palette=None,hue_order=None,hue_norm=None,color=None,log_scale=None,legend=True,ax=None,**kwargs)",
|
7
|
-
"kdeplot": "seaborn.kdeplot(data=None,*,x=None,y=None,hue=None,weights=None,palette=None,hue_order=None,hue_norm=None,color=None,fill=None,multiple='layer',common_norm=True,common_grid=False,cumulative=False,bw_method='scott',bw_adjust=1,warn_singular=True,log_scale=None,levels=10,thresh=0.05,gridsize=200,cut=3,clip=None,legend=True,cbar=False,cbar_ax=None,cbar_kws=None,ax=None,**kwargs)",
|
8
|
-
"ecdfplot": "seaborn.ecdfplot(data=None,*,x=None,y=None,hue=None,weights=None,stat='proportion',complementary=False,palette=None,hue_order=None,hue_norm=None,log_scale=None,legend=True,ax=None,**kwargs)",
|
9
|
-
"rugplot": "seaborn.rugplot(data=None,*,x=None,y=None,hue=None,height=0.025,expand_margins=True,palette=None,hue_order=None,hue_norm=None,legend=True,ax=None,**kwargs)",
|
10
|
-
"distplot": "seaborn.distplot(a=None,bins=None,hist=True,kde=True,rug=False,fit=None,hist_kws=None,kde_kws=None,rug_kws=None,fit_kws=None,color=None,vertical=False,norm_hist=False,axlabel=None,label=None,ax=None,x=None)",
|
11
|
-
"catplot": "seaborn.catplot(data=None,*,x=None,y=None,hue=None,row=None,col=None,kind='strip',estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,order=None,hue_order=None,row_order=None,col_order=None,col_wrap=None,height=5,aspect=1,log_scale=None,native_scale=False,formatter=None,orient=None,color=None,palette=None,hue_norm=None,legend='auto',legend_out=True,sharex=True,sharey=True,margin_titles=False,facet_kws=None,ci=<deprecated>,**kwargs)",
|
12
|
-
"stripplot": "seaborn.stripplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,jitter=True,dodge=False,orient=None,color=None,palette=None,size=5,edgecolor=<default>,linewidth=0,hue_norm=None,log_scale=None,native_scale=False,formatter=None,legend='auto',ax=None,**kwargs)",
|
13
|
-
"boxplot": "seaborn.boxplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,dodge='auto',width=0.8,gap=0,whis=1.5,linecolor='auto',linewidth=None,fliersize=None,hue_norm=None,native_scale=False,log_scale=None,formatter=None,legend='auto',ax=None,**kwargs)",
|
14
|
-
"violinplot": "seaborn.violinplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,inner='box',split=False,width=0.8,dodge='auto',gap=0,linewidth=None,linecolor='auto',cut=2,gridsize=100,bw_method='scott',bw_adjust=1,density_norm='area',common_norm=False,hue_norm=None,formatter=None,log_scale=None,native_scale=False,legend='auto',scale=<deprecated>,scale_hue=<deprecated>,bw=<deprecated>,inner_kws=None,ax=None,**kwargs)",
|
15
|
-
"boxenplot": "seaborn.boxenplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,dodge='auto',width=0.8,gap=0,linewidth=None,linecolor=None,width_method='exponential',k_depth='tukey',outlier_prop=0.007,trust_alpha=0.05,showfliers=True,hue_norm=None,log_scale=None,native_scale=False,formatter=None,legend='auto',scale=<deprecated>,box_kws=None,flier_kws=None,line_kws=None,ax=None,**kwargs)",
|
16
|
-
"pointplot": "seaborn.pointplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,color=None,palette=None,hue_norm=None,markers=<default>,linestyles=<default>,dodge=False,log_scale=None,native_scale=False,orient=None,capsize=0,formatter=None,legend='auto',err_kws=None,ci=<deprecated>,errwidth=<deprecated>,join=<deprecated>,scale=<deprecated>,ax=None,**kwargs)",
|
17
|
-
"barplot": "seaborn.barplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,hue_norm=None,width=0.8,dodge='auto',gap=0,log_scale=None,native_scale=False,formatter=None,legend='auto',capsize=0,err_kws=None,ci=<deprecated>,errcolor=<deprecated>,errwidth=<deprecated>,ax=None,**kwargs)",
|
18
|
-
"countplot": "seaborn.countplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,hue_norm=None,stat='count',width=0.8,dodge='auto',gap=0,log_scale=None,native_scale=False,formatter=None,legend='auto',ax=None,**kwargs)",
|
19
|
-
"lmplot": "seaborn.lmplot(data,*,x=None,y=None,hue=None,col=None,row=None,palette=None,col_wrap=None,height=5,aspect=1,markers='o',sharex=None,sharey=None,hue_order=None,col_order=None,row_order=None,legend=True,legend_out=None,x_estimator=None,x_bins=None,x_ci='ci',scatter=True,fit_reg=True,ci=95,n_boot=1000,units=None,seed=None,order=1,logistic=False,lowess=False,robust=False,logx=False,x_partial=None,y_partial=None,truncate=True,x_jitter=None,y_jitter=None,scatter_kws=None,line_kws=None,facet_kws=None)",
|
20
|
-
"regplot": "seaborn.regplot(data=None,*,x=None,y=None,x_estimator=None,x_bins=None,x_ci='ci',scatter=True,fit_reg=True,ci=95,n_boot=1000,units=None,seed=None,order=1,logistic=False,lowess=False,robust=False,logx=False,x_partial=None,y_partial=None,truncate=True,dropna=True,x_jitter=None,y_jitter=None,label=None,color=None,marker='o',scatter_kws=None,line_kws=None,ax=None)",
|
21
|
-
"residplot": "seaborn.residplot(data=None,*,x=None,y=None,x_partial=None,y_partial=None,lowess=False,order=1,robust=False,dropna=True,label=None,color=None,scatter_kws=None,line_kws=None,ax=None)",
|
22
|
-
"pairplot": "seaborn.pairplot(data,*,hue=None,hue_order=None,palette=None,vars=None,x_vars=None,y_vars=None,kind='scatter',diag_kind='auto',markers=None,height=2.5,aspect=1,corner=False,dropna=False,plot_kws=None,diag_kws=None,grid_kws=None,size=None)",
|
23
|
-
"jointplot": "seaborn.jointplot(data=None,*,x=None,y=None,hue=None,kind='scatter',height=6,ratio=5,space=0.2,dropna=False,xlim=None,ylim=None,color=None,palette=None,hue_order=None,hue_norm=None,marginal_ticks=False,joint_kws=None,marginal_kws=None,**kwargs)",
|
24
|
-
"plotting_context": "seaborn.plotting_context(context=None,font_scale=1,rc=None)"
|
2
|
+
"relplot": "seaborn.relplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,units=None,weights=None,row=None,col=None,col_wrap=None,row_order=None,col_order=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,markers=None,dashes=None,style_order=None,legend='auto',kind='scatter',height=5,aspect=1,facet_kws=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.relplot.html",
|
3
|
+
"scatterplot": "seaborn.scatterplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,markers=True,style_order=None,legend='auto',ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.scatterplot.html",
|
4
|
+
"lineplot": "seaborn.lineplot(data=None,*,x=None,y=None,hue=None,size=None,style=None,units=None,weights=None,palette=None,hue_order=None,hue_norm=None,sizes=None,size_order=None,size_norm=None,dashes=True,markers=None,style_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,orient='x',sort=True,err_style='band',err_kws=None,legend='auto',ci='deprecated',ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.lineplot.html",
|
5
|
+
"displot": "seaborn.displot(data=None,*,x=None,y=None,hue=None,row=None,col=None,weights=None,kind='hist',rug=False,rug_kws=None,log_scale=None,legend=True,palette=None,hue_order=None,hue_norm=None,color=None,col_wrap=None,row_order=None,col_order=None,height=5,aspect=1,facet_kws=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.displot.html",
|
6
|
+
"histplot": "seaborn.histplot(data=None,*,x=None,y=None,hue=None,weights=None,stat='count',bins='auto',binwidth=None,binrange=None,discrete=None,cumulative=False,common_bins=True,common_norm=True,multiple='layer',element='bars',fill=True,shrink=1,kde=False,kde_kws=None,line_kws=None,thresh=0,pthresh=None,pmax=None,cbar=False,cbar_ax=None,cbar_kws=None,palette=None,hue_order=None,hue_norm=None,color=None,log_scale=None,legend=True,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.histplot.html",
|
7
|
+
"kdeplot": "seaborn.kdeplot(data=None,*,x=None,y=None,hue=None,weights=None,palette=None,hue_order=None,hue_norm=None,color=None,fill=None,multiple='layer',common_norm=True,common_grid=False,cumulative=False,bw_method='scott',bw_adjust=1,warn_singular=True,log_scale=None,levels=10,thresh=0.05,gridsize=200,cut=3,clip=None,legend=True,cbar=False,cbar_ax=None,cbar_kws=None,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.kdeplot.html",
|
8
|
+
"ecdfplot": "seaborn.ecdfplot(data=None,*,x=None,y=None,hue=None,weights=None,stat='proportion',complementary=False,palette=None,hue_order=None,hue_norm=None,log_scale=None,legend=True,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.ecdfplot.html",
|
9
|
+
"rugplot": "seaborn.rugplot(data=None,*,x=None,y=None,hue=None,height=0.025,expand_margins=True,palette=None,hue_order=None,hue_norm=None,legend=True,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.rugplot.html",
|
10
|
+
"distplot": "seaborn.distplot(a=None,bins=None,hist=True,kde=True,rug=False,fit=None,hist_kws=None,kde_kws=None,rug_kws=None,fit_kws=None,color=None,vertical=False,norm_hist=False,axlabel=None,label=None,ax=None,x=None)\nhttps://seaborn.pydata.org/generated/seaborn.distplot.html",
|
11
|
+
"catplot": "seaborn.catplot(data=None,*,x=None,y=None,hue=None,row=None,col=None,kind='strip',estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,order=None,hue_order=None,row_order=None,col_order=None,col_wrap=None,height=5,aspect=1,log_scale=None,native_scale=False,formatter=None,orient=None,color=None,palette=None,hue_norm=None,legend='auto',legend_out=True,sharex=True,sharey=True,margin_titles=False,facet_kws=None,ci=<deprecated>,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.catplot.html#seaborn.catplot",
|
12
|
+
"stripplot": "seaborn.stripplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,jitter=True,dodge=False,orient=None,color=None,palette=None,size=5,edgecolor=<default>,linewidth=0,hue_norm=None,log_scale=None,native_scale=False,formatter=None,legend='auto',ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.stripplot.html#seaborn.stripplot",
|
13
|
+
"boxplot": "seaborn.boxplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,dodge='auto',width=0.8,gap=0,whis=1.5,linecolor='auto',linewidth=None,fliersize=None,hue_norm=None,native_scale=False,log_scale=None,formatter=None,legend='auto',ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.boxplot.html#seaborn.boxplot",
|
14
|
+
"violinplot": "seaborn.violinplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,inner='box',split=False,width=0.8,dodge='auto',gap=0,linewidth=None,linecolor='auto',cut=2,gridsize=100,bw_method='scott',bw_adjust=1,density_norm='area',common_norm=False,hue_norm=None,formatter=None,log_scale=None,native_scale=False,legend='auto',scale=<deprecated>,scale_hue=<deprecated>,bw=<deprecated>,inner_kws=None,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.violinplot.html#seaborn.violinplot",
|
15
|
+
"boxenplot": "seaborn.boxenplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,dodge='auto',width=0.8,gap=0,linewidth=None,linecolor=None,width_method='exponential',k_depth='tukey',outlier_prop=0.007,trust_alpha=0.05,showfliers=True,hue_norm=None,log_scale=None,native_scale=False,formatter=None,legend='auto',scale=<deprecated>,box_kws=None,flier_kws=None,line_kws=None,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.boxenplot.html",
|
16
|
+
"pointplot": "seaborn.pointplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,color=None,palette=None,hue_norm=None,markers=<default>,linestyles=<default>,dodge=False,log_scale=None,native_scale=False,orient=None,capsize=0,formatter=None,legend='auto',err_kws=None,ci=<deprecated>,errwidth=<deprecated>,join=<deprecated>,scale=<deprecated>,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.pointplot.html",
|
17
|
+
"barplot": "seaborn.barplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,estimator='mean',errorbar=('ci',95),n_boot=1000,seed=None,units=None,weights=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,hue_norm=None,width=0.8,dodge='auto',gap=0,log_scale=None,native_scale=False,formatter=None,legend='auto',capsize=0,err_kws=None,ci=<deprecated>,errcolor=<deprecated>,errwidth=<deprecated>,ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.barplot.html",
|
18
|
+
"countplot": "seaborn.countplot(data=None,*,x=None,y=None,hue=None,order=None,hue_order=None,orient=None,color=None,palette=None,saturation=0.75,fill=True,hue_norm=None,stat='count',width=0.8,dodge='auto',gap=0,log_scale=None,native_scale=False,formatter=None,legend='auto',ax=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.countplot.html",
|
19
|
+
"lmplot": "seaborn.lmplot(data,*,x=None,y=None,hue=None,col=None,row=None,palette=None,col_wrap=None,height=5,aspect=1,markers='o',sharex=None,sharey=None,hue_order=None,col_order=None,row_order=None,legend=True,legend_out=None,x_estimator=None,x_bins=None,x_ci='ci',scatter=True,fit_reg=True,ci=95,n_boot=1000,units=None,seed=None,order=1,logistic=False,lowess=False,robust=False,logx=False,x_partial=None,y_partial=None,truncate=True,x_jitter=None,y_jitter=None,scatter_kws=None,line_kws=None,facet_kws=None)\nhttps://seaborn.pydata.org/generated/seaborn.lmplot.html",
|
20
|
+
"regplot": "seaborn.regplot(data=None,*,x=None,y=None,x_estimator=None,x_bins=None,x_ci='ci',scatter=True,fit_reg=True,ci=95,n_boot=1000,units=None,seed=None,order=1,logistic=False,lowess=False,robust=False,logx=False,x_partial=None,y_partial=None,truncate=True,dropna=True,x_jitter=None,y_jitter=None,label=None,color=None,marker='o',scatter_kws=None,line_kws=None,ax=None)\nhttps://seaborn.pydata.org/generated/seaborn.regplot.html",
|
21
|
+
"residplot": "seaborn.residplot(data=None,*,x=None,y=None,x_partial=None,y_partial=None,lowess=False,order=1,robust=False,dropna=True,label=None,color=None,scatter_kws=None,line_kws=None,ax=None)\nhttps://seaborn.pydata.org/generated/seaborn.residplot.html",
|
22
|
+
"pairplot": "seaborn.pairplot(data,*,hue=None,hue_order=None,palette=None,vars=None,x_vars=None,y_vars=None,kind='scatter',diag_kind='auto',markers=None,height=2.5,aspect=1,corner=False,dropna=False,plot_kws=None,diag_kws=None,grid_kws=None,size=None)\nhttps://seaborn.pydata.org/generated/seaborn.pairplot.html",
|
23
|
+
"jointplot": "seaborn.jointplot(data=None,*,x=None,y=None,hue=None,kind='scatter',height=6,ratio=5,space=0.2,dropna=False,xlim=None,ylim=None,color=None,palette=None,hue_order=None,hue_norm=None,marginal_ticks=False,joint_kws=None,marginal_kws=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.jointplot.html",
|
24
|
+
"plotting_context": "seaborn.plotting_context(context=None,font_scale=1,rc=None)\nhttps://seaborn.pydata.org/generated/seaborn.plotting_context.html"
|
25
25
|
}
|
@@ -2,13 +2,14 @@ from .ips import *
|
|
2
2
|
from .netfinder import fetch, get_soup
|
3
3
|
|
4
4
|
|
5
|
-
def
|
5
|
+
def usage_pd(
|
6
6
|
url="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_clipboard.html",
|
7
7
|
dir_save=None,
|
8
8
|
):
|
9
9
|
# extract each usage from its url
|
10
10
|
def get_usage(url):
|
11
11
|
# extract each usage from its url
|
12
|
+
print(f"trying: {url}")
|
12
13
|
sp = get_soup(url, driver="se")
|
13
14
|
return fetch(sp, where="dt")[0]
|
14
15
|
|
@@ -28,7 +29,7 @@ def update_pd_usages(
|
|
28
29
|
|
29
30
|
usages = [get_usage(i) for i in links]
|
30
31
|
dict_usage = {}
|
31
|
-
for usage in usages:
|
32
|
+
for usage, link in zip(usages, links):
|
32
33
|
if usage.startswith("DataFrame"):
|
33
34
|
usage = usage.replace("DataFrame", "df")
|
34
35
|
if usage.startswith("pandas"):
|
@@ -40,9 +41,9 @@ def update_pd_usages(
|
|
40
41
|
str2rm = ["class", "property"]
|
41
42
|
for str2rm_ in str2rm:
|
42
43
|
if usage.startswith(str2rm_):
|
43
|
-
usage = usage.replace(
|
44
|
+
usage = usage.replace(str2rm_, "")
|
44
45
|
funcname = ssplit(usage, by="(")[0]
|
45
|
-
dict_usage.update({funcname: usage})
|
46
|
+
dict_usage.update({funcname: usage + f"\n{link}"})
|
46
47
|
# save to local
|
47
48
|
dir_save += "/" if not dir_save.endswith("/") else ""
|
48
49
|
fsave(
|
@@ -51,7 +52,7 @@ def update_pd_usages(
|
|
51
52
|
)
|
52
53
|
|
53
54
|
|
54
|
-
def
|
55
|
+
def usage_sns(
|
55
56
|
url="https://seaborn.pydata.org/generated/seaborn.swarmplot.html",
|
56
57
|
dir_save=None,
|
57
58
|
):
|
@@ -72,8 +73,8 @@ def update_sns_usages(
|
|
72
73
|
|
73
74
|
# extract each usage from its url
|
74
75
|
def get_usage(url):
|
76
|
+
print(f"trying: {url}")
|
75
77
|
sp = get_soup(url, driver="se")
|
76
|
-
# preview(sp)
|
77
78
|
return fetch(sp, where="dt")[0]
|
78
79
|
|
79
80
|
if dir_save is None:
|
@@ -104,9 +105,9 @@ def update_sns_usages(
|
|
104
105
|
|
105
106
|
usages = [get_usage(i) for i in links]
|
106
107
|
dict_usage = {}
|
107
|
-
for usage in usages:
|
108
|
+
for usage, link in zip(usages, links):
|
108
109
|
dict_usage.update(
|
109
|
-
{ssplit(usage, by="(")[0].replace("seaborn.", ""): usage[:-1]}
|
110
|
+
{ssplit(usage, by="(")[0].replace("seaborn.", ""): usage[:-1] + f"\n{link}"}
|
110
111
|
)
|
111
112
|
# save to local
|
112
113
|
dir_save += "/" if not dir_save.endswith("/") else ""
|
py2ls/ips.py
CHANGED
@@ -59,6 +59,21 @@ try:
|
|
59
59
|
except NameError:
|
60
60
|
pass
|
61
61
|
|
62
|
+
def plt_font(dir_font: str = "/System/Library/Fonts/Hiragino Sans GB.ttc"):
|
63
|
+
"""
|
64
|
+
Add the Chinese font to the font manager
|
65
|
+
Args:
|
66
|
+
dir_font (str, optional): _description_. Defaults to "/System/Library/Fonts/Hiragino Sans GB.ttc".
|
67
|
+
"""
|
68
|
+
import matplotlib.pyplot as plt
|
69
|
+
from matplotlib import font_manager
|
70
|
+
|
71
|
+
font_manager.fontManager.addfont(dir_font)
|
72
|
+
fontname_chinese = os.path.basename(dir_font).split(".")[0]
|
73
|
+
|
74
|
+
plt.rcParams["font.sans-serif"] = [fontname_chinese]
|
75
|
+
plt.rcParams["font.family"] = "sans-serif"
|
76
|
+
plt.rcParams["axes.unicode_minus"] = False
|
62
77
|
|
63
78
|
# set 'dir_save'
|
64
79
|
if "dar" in sys.platform:
|
@@ -255,16 +270,21 @@ def is_package_installed(package_name):
|
|
255
270
|
return package_spec is not None
|
256
271
|
|
257
272
|
|
258
|
-
def upgrade(module="py2ls"):
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
273
|
+
def upgrade(module="py2ls",uninstall=False):
|
274
|
+
"""
|
275
|
+
Installs or upgrades a specified Python module.
|
276
|
+
|
277
|
+
Parameters:
|
278
|
+
module (str): The name of the module to install/upgrade.
|
279
|
+
uninstall (bool): If True, uninstalls the webdriver-manager before upgrading.
|
280
|
+
"""
|
263
281
|
if not is_package_installed(module):
|
264
282
|
try:
|
265
283
|
subprocess.check_call([sys.executable, "-m", "pip", "install", module])
|
266
284
|
except subprocess.CalledProcessError as e:
|
267
285
|
print(f"An error occurred while installing {module}: {e}")
|
286
|
+
if uninstall:
|
287
|
+
subprocess.check_call(["pip", "uninstall", "-y", "webdriver-manager"])
|
268
288
|
try:
|
269
289
|
subprocess.check_call(
|
270
290
|
[sys.executable, "-m", "pip", "install", "--upgrade", module]
|
@@ -515,8 +535,8 @@ def strcmp(search_term, candidates, ignore_case=True, verbose=False, scorer="WR"
|
|
515
535
|
similarity_scores = [fuzz.partial_ratio(str1_, word) for word in str2_]
|
516
536
|
elif "W" in scorer.lower():
|
517
537
|
similarity_scores = [fuzz.WRatio(str1_, word) for word in str2_]
|
518
|
-
elif "
|
519
|
-
similarity_scores = [fuzz.
|
538
|
+
elif "ratio" in scorer.lower():#Ratio (Strictest)
|
539
|
+
similarity_scores = [fuzz.ratio(str1_, word) for word in str2_]
|
520
540
|
else:
|
521
541
|
similarity_scores = [fuzz.WRatio(str1_, word) for word in str2_]
|
522
542
|
best_match_index = similarity_scores.index(max(similarity_scores))
|
@@ -528,7 +548,7 @@ def strcmp(search_term, candidates, ignore_case=True, verbose=False, scorer="WR"
|
|
528
548
|
elif "W" in scorer.lower():
|
529
549
|
best_match_score = fuzz.WRatio(str1_, str2_)
|
530
550
|
elif "Ratio" in scorer.lower():
|
531
|
-
best_match_score = fuzz.
|
551
|
+
best_match_score = fuzz.ratio(str1_, str2_)
|
532
552
|
else:
|
533
553
|
best_match_score = fuzz.WRatio(str1_, str2_)
|
534
554
|
if verbose:
|
@@ -543,6 +563,80 @@ def strcmp(search_term, candidates, ignore_case=True, verbose=False, scorer="WR"
|
|
543
563
|
# str2 = ['PLoS Computational Biology', 'PLOS BIOLOGY']
|
544
564
|
# best_match, idx = strcmp(str1, str2, ignore_case=1)
|
545
565
|
|
566
|
+
def cn2pinyin(
|
567
|
+
cn_str: Union[str, list] = None,
|
568
|
+
sep: str = " ",
|
569
|
+
fmt: str = "normal", # which style you want to set
|
570
|
+
):
|
571
|
+
from pypinyin import pinyin, Style
|
572
|
+
|
573
|
+
"""
|
574
|
+
Converts Chinese characters to Pinyin.
|
575
|
+
usage:
|
576
|
+
cn2pinyin(cn_str, sep="_", fmt="tone")
|
577
|
+
Args:
|
578
|
+
cn_str (str): Chinese string to convert.
|
579
|
+
sep (str): Separator for the output Pinyin string.
|
580
|
+
style (Style): "normal","tone", "tone2","tone3",
|
581
|
+
"finals","finals_tone","finals_tone2","finals_tone3",
|
582
|
+
"initials","bopomofo","bopomofo_first","cyrillic","pl",
|
583
|
+
Returns:
|
584
|
+
cn_str: The Pinyin representation of the Chinese string.
|
585
|
+
"""
|
586
|
+
fmts = [
|
587
|
+
"normal",
|
588
|
+
"tone",
|
589
|
+
"tone2",
|
590
|
+
"tone3",
|
591
|
+
"finals",
|
592
|
+
"finals_tone",
|
593
|
+
"finals_tone2",
|
594
|
+
"finals_tone3",
|
595
|
+
"initials",
|
596
|
+
"bopomofo",
|
597
|
+
"bopomofo_first",
|
598
|
+
"cyrillic",
|
599
|
+
"pl",
|
600
|
+
]
|
601
|
+
fmt = strcmp(fmt, fmts)[0]
|
602
|
+
if fmt == "normal":
|
603
|
+
style = Style.NORMAL
|
604
|
+
elif fmt == "tone":
|
605
|
+
style = Style.TONE
|
606
|
+
elif fmt == "tone2":
|
607
|
+
style = Style.TONE2
|
608
|
+
elif fmt == "tone3":
|
609
|
+
style = Style.TONE3
|
610
|
+
elif fmt == "finals":
|
611
|
+
style = Style.FINALS
|
612
|
+
elif fmt == "finals_tone":
|
613
|
+
style = Style.FINALS_TONE
|
614
|
+
elif fmt == "finals_tone2":
|
615
|
+
style = Style.FINALS_TONE2
|
616
|
+
elif fmt == "finals_tone3":
|
617
|
+
style = Style.FINALS_TONE3
|
618
|
+
elif fmt == "initials":
|
619
|
+
style = Style.INITIALS
|
620
|
+
elif fmt == "bopomofo":
|
621
|
+
style = Style.BOPOMOFO
|
622
|
+
elif fmt == "bopomofo_first":
|
623
|
+
style = Style.BOPOMOFO_FIRST
|
624
|
+
elif fmt == "cyrillic":
|
625
|
+
style = Style.CYRILLIC
|
626
|
+
elif fmt == "pl":
|
627
|
+
style = Style.PL
|
628
|
+
else:
|
629
|
+
style = Style.NORMAL
|
630
|
+
if not isinstance(cn_str,list):
|
631
|
+
cn_str=[cn_str]
|
632
|
+
pinyin_flat=[]
|
633
|
+
for cn_str_ in cn_str:
|
634
|
+
pinyin_string = pinyin(cn_str_, style=style)
|
635
|
+
pinyin_flat.append(sep.join([item[0] for item in pinyin_string]))
|
636
|
+
if len(pinyin_flat)==1:
|
637
|
+
return pinyin_flat[0]
|
638
|
+
else:
|
639
|
+
return pinyin_flat
|
546
640
|
|
547
641
|
def counter(list_, verbose=True):
|
548
642
|
c = Counter(list_)
|
@@ -1750,12 +1844,18 @@ def fload(fpath, kind=None, **kwargs):
|
|
1750
1844
|
print(f"shape: {df.shape}")
|
1751
1845
|
return df
|
1752
1846
|
|
1753
|
-
def
|
1847
|
+
def load_excel(fpath, **kwargs):
|
1754
1848
|
engine = kwargs.get("engine", "openpyxl")
|
1755
1849
|
verbose=kwargs.pop("verbose",False)
|
1756
1850
|
if verbose:
|
1757
1851
|
print_pd_usage("read_excel", verbose=verbose)
|
1758
1852
|
df = pd.read_excel(fpath, engine=engine, **kwargs)
|
1853
|
+
try:
|
1854
|
+
meata=pd.ExcelFile(fpath)
|
1855
|
+
print(f"n_sheet={len(meata.sheet_names)},\t'sheetname = 0 (default)':")
|
1856
|
+
[print(f"{i}:\t{i_}") for i,i_ in enumerate(meata.sheet_names)]
|
1857
|
+
except:
|
1858
|
+
pass
|
1759
1859
|
return df
|
1760
1860
|
|
1761
1861
|
def load_ipynb(fpath, **kwargs):
|
@@ -1912,16 +2012,16 @@ def fload(fpath, kind=None, **kwargs):
|
|
1912
2012
|
elif kind in ["ods", "ods", "odt"]:
|
1913
2013
|
engine = kwargs.get("engine", "odf")
|
1914
2014
|
kwargs.pop("engine", None)
|
1915
|
-
return
|
2015
|
+
return load_excel(fpath, engine=engine, **kwargs)
|
1916
2016
|
elif kind == "xls":
|
1917
2017
|
engine = kwargs.get("engine", "xlrd")
|
1918
2018
|
kwargs.pop("engine", None)
|
1919
|
-
content =
|
1920
|
-
display(content.head(
|
2019
|
+
content = load_excel(fpath, engine=engine, **kwargs)
|
2020
|
+
display(content.head(3))
|
1921
2021
|
return content
|
1922
2022
|
elif kind == "xlsx":
|
1923
|
-
content =
|
1924
|
-
display(content.head(
|
2023
|
+
content = load_excel(fpath, **kwargs)
|
2024
|
+
display(content.head(3))
|
1925
2025
|
return content
|
1926
2026
|
elif kind == "ipynb":
|
1927
2027
|
return load_ipynb(fpath, **kwargs)
|
@@ -2131,6 +2231,10 @@ def fsave(
|
|
2131
2231
|
|
2132
2232
|
def save_csv(fpath, data, **kwargs):
|
2133
2233
|
# https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
|
2234
|
+
|
2235
|
+
verbose=kwargs.pop("verbose",False)
|
2236
|
+
if verbose:
|
2237
|
+
print_pd_usage("to_csv", verbose=verbose)
|
2134
2238
|
kwargs_csv = dict(
|
2135
2239
|
path_or_buf=None,
|
2136
2240
|
sep=",",
|
@@ -2141,7 +2245,7 @@ def fsave(
|
|
2141
2245
|
index=True,
|
2142
2246
|
index_label=None,
|
2143
2247
|
mode="w",
|
2144
|
-
encoding=
|
2248
|
+
encoding="UTF-8",
|
2145
2249
|
compression="infer",
|
2146
2250
|
quoting=None,
|
2147
2251
|
quotechar='"',
|
@@ -2159,26 +2263,31 @@ def fsave(
|
|
2159
2263
|
df.to_csv(fpath, **kwargs_valid)
|
2160
2264
|
|
2161
2265
|
def save_xlsx(fpath, data, **kwargs):
|
2266
|
+
verbose=kwargs.pop("verbose",False)
|
2267
|
+
sheet_name = kwargs.pop("sheet_name", "Sheet1")
|
2268
|
+
if verbose:
|
2269
|
+
print_pd_usage("to_excel", verbose=verbose)
|
2162
2270
|
if any(kwargs):
|
2163
2271
|
format_excel(df=data, filename=fpath, **kwargs)
|
2164
2272
|
else:
|
2165
|
-
kwargs
|
2166
|
-
|
2167
|
-
|
2168
|
-
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2172
|
-
|
2173
|
-
kwargs.pop("shade", None)
|
2174
|
-
kwargs.pop("comment", None)
|
2175
|
-
kwargs.pop("link", None)
|
2176
|
-
kwargs.pop("protect", None)
|
2177
|
-
kwargs.pop("number_format", None)
|
2178
|
-
kwargs.pop("conditional_format", None)
|
2179
|
-
kwargs.pop("index_default", None)
|
2273
|
+
# Remove non-relevant kwargs
|
2274
|
+
irrelevant_keys = [
|
2275
|
+
"format", "usage", "cell", "width", "height", "height_max", "merge",
|
2276
|
+
"shade", "comment", "link", "protect", "number_format", "conditional_format",
|
2277
|
+
"index_default"]
|
2278
|
+
for key in irrelevant_keys:
|
2279
|
+
kwargs.pop(key, None)
|
2280
|
+
|
2180
2281
|
df = pd.DataFrame(data)
|
2181
|
-
|
2282
|
+
# Check if the file exists, then append the sheet, otherwise create a new file
|
2283
|
+
try:
|
2284
|
+
# Use ExcelWriter with append mode if the file exists
|
2285
|
+
with pd.ExcelWriter(fpath, engine='openpyxl', mode='a', if_sheet_exists='new') as writer:
|
2286
|
+
df.to_excel(writer, sheet_name=sheet_name, index=False, **kwargs)
|
2287
|
+
except FileNotFoundError:
|
2288
|
+
# If file doesn't exist, create a new one
|
2289
|
+
df.to_excel(fpath, sheet_name=sheet_name, index=False, **kwargs)
|
2290
|
+
|
2182
2291
|
|
2183
2292
|
def save_ipynb(fpath, data, **kwargs):
|
2184
2293
|
# Split the content by code fences to distinguish between code and markdown
|
@@ -2451,10 +2560,13 @@ def listdir(
|
|
2451
2560
|
verbose=True,
|
2452
2561
|
):
|
2453
2562
|
if kind is None:
|
2563
|
+
ls=os.listdir(rootdir)
|
2564
|
+
ls = [f for f in ls if not f.startswith('.') and not f.startswith('~')]
|
2565
|
+
print(ls)
|
2454
2566
|
df_all = pd.DataFrame(
|
2455
2567
|
{
|
2456
|
-
"fname":
|
2457
|
-
"fpath": [os.path.join(rootdir, i) for i in
|
2568
|
+
"fname": all_files,
|
2569
|
+
"fpath": [os.path.join(rootdir, i) for i in ls],
|
2458
2570
|
}
|
2459
2571
|
)
|
2460
2572
|
display(df_all)
|
@@ -2480,6 +2592,7 @@ def listdir(
|
|
2480
2592
|
|
2481
2593
|
if os.path.isdir(rootdir):
|
2482
2594
|
ls = os.listdir(rootdir)
|
2595
|
+
ls = [f for f in ls if not f.startswith('.') and not f.startswith('~')]
|
2483
2596
|
fd = [".fd", ".fld", ".fol", ".fd", ".folder"]
|
2484
2597
|
i = 0
|
2485
2598
|
f = {
|
@@ -2702,6 +2815,8 @@ def figsave(*args, dpi=300):
|
|
2702
2815
|
img = arg # Store the PIL image if provided
|
2703
2816
|
|
2704
2817
|
f_slash = "/" if "mac" in get_os().lower() else "\\"
|
2818
|
+
if dir_save is None:
|
2819
|
+
dir_save="./"
|
2705
2820
|
dir_par = f_slash.join(dir_save.split(f_slash)[:-1])
|
2706
2821
|
dir_ch = "".join(dir_save.split(f_slash)[-1:])
|
2707
2822
|
if not dir_par.endswith(f_slash):
|
@@ -4301,17 +4416,6 @@ def preview(var):
|
|
4301
4416
|
# preview(pd.DataFrame({"Name": ["Alice", "Bob"], "Age": [25, 30]}))
|
4302
4417
|
# preview({"key": "value", "numbers": [1, 2, 3]})
|
4303
4418
|
|
4304
|
-
def df_as_type(
|
4305
|
-
df: pd.DataFrame,
|
4306
|
-
columns: Optional[Union[str, List[str]]] = None,
|
4307
|
-
astype: str = "datetime",
|
4308
|
-
format: Optional[str] = None,
|
4309
|
-
inplace: bool = True,
|
4310
|
-
errors: str = "coerce", # Can be "ignore", "raise", or "coerce"
|
4311
|
-
**kwargs,
|
4312
|
-
):
|
4313
|
-
return df_astype(df=df,columns=columns,astype=astype,format=format,inplace=inplace,errors=errors,**kwargs)
|
4314
|
-
|
4315
4419
|
# ! DataFrame
|
4316
4420
|
def df_astype(
|
4317
4421
|
df: pd.DataFrame,
|
@@ -4374,16 +4478,22 @@ def df_astype(
|
|
4374
4478
|
"second",
|
4375
4479
|
"time",
|
4376
4480
|
"week",
|
4377
|
-
"date",
|
4481
|
+
"date","day",
|
4378
4482
|
"month",
|
4379
4483
|
"year",
|
4380
4484
|
]
|
4381
|
-
# correct the astype input
|
4382
|
-
astype = strcmp(astype, astypes)[0]
|
4383
|
-
print(f"converting {columns} as type: {astype}")
|
4384
4485
|
# If inplace is False, make a copy of the DataFrame
|
4385
4486
|
if not inplace:
|
4386
4487
|
df = df.copy()
|
4488
|
+
# correct the astype input
|
4489
|
+
if isinstance(astype,str):
|
4490
|
+
astype = strcmp(astype, astypes)[0]
|
4491
|
+
print(f"converting {columns} as type: {astype}")
|
4492
|
+
elif isinstance(astype,dict):
|
4493
|
+
for col, dtype in astype.items():
|
4494
|
+
dtype='date' if dtype=="day" else dtype
|
4495
|
+
df["col"]=df["col"].adtype(strcmp(dtype, astypes)[0])
|
4496
|
+
return
|
4387
4497
|
# If columns is None, apply to all columns
|
4388
4498
|
if columns is None:
|
4389
4499
|
columns = df.columns
|
@@ -4419,7 +4529,7 @@ def df_astype(
|
|
4419
4529
|
df.iloc[:, column] = df.iloc[:, column].dt.month
|
4420
4530
|
elif astype == "year":
|
4421
4531
|
df.iloc[:, column] = df.iloc[:, column].dt.year
|
4422
|
-
elif astype == "date":
|
4532
|
+
elif astype == "date" or astype == "day":
|
4423
4533
|
df.iloc[:, column] = df.iloc[:, column].dt.date
|
4424
4534
|
elif astype == "hour":
|
4425
4535
|
df.iloc[:, column] = df.iloc[:, column].dt.hour
|
@@ -4474,15 +4584,15 @@ def df_astype(
|
|
4474
4584
|
return df
|
4475
4585
|
|
4476
4586
|
|
4477
|
-
# ! DataFrame
|
4478
|
-
def df_sort_values(df, column, by=None, ascending=True, inplace=
|
4587
|
+
# ! DataFrame
|
4588
|
+
def df_sort_values(df, column, by=None, ascending=True, inplace=True, **kwargs):
|
4479
4589
|
"""
|
4480
|
-
Sort a DataFrame by a specified column based on a custom order.
|
4590
|
+
Sort a DataFrame by a specified column based on a custom order or by count.
|
4481
4591
|
|
4482
4592
|
Parameters:
|
4483
4593
|
- df: DataFrame to be sorted.
|
4484
4594
|
- column: The name of the column to sort by.
|
4485
|
-
- by: List specifying the custom order for sorting.
|
4595
|
+
- by: List specifying the custom order for sorting or 'count' to sort by frequency.
|
4486
4596
|
- ascending: Boolean or list of booleans, default True.
|
4487
4597
|
Sort ascending vs. descending.
|
4488
4598
|
- inplace: If True, perform operation in place and return None.
|
@@ -4494,12 +4604,25 @@ def df_sort_values(df, column, by=None, ascending=True, inplace=False, **kwargs)
|
|
4494
4604
|
if column not in df.columns:
|
4495
4605
|
raise ValueError(f"Column '{column}' does not exist in the DataFrame.")
|
4496
4606
|
|
4497
|
-
if
|
4498
|
-
|
4607
|
+
if isinstance(by, str) and 'count' in by.lower():
|
4608
|
+
# Count occurrences of each value in the specified column
|
4609
|
+
value_counts = df[column].value_counts()
|
4499
4610
|
|
4500
|
-
|
4611
|
+
# Determine the order based on counts
|
4612
|
+
count_ascending = kwargs.pop("count_ascending", ascending)
|
4613
|
+
sorted_counts = value_counts.sort_values(ascending=count_ascending).index.tolist()
|
4614
|
+
|
4615
|
+
# Convert to a categorical type with the new order
|
4616
|
+
df[column] = pd.Categorical(df[column], categories=sorted_counts, ordered=True)
|
4617
|
+
# Set ascending to count_ascending for sorting
|
4618
|
+
ascending = count_ascending # Adjust ascending for the final sort
|
4619
|
+
elif isinstance(by, list):
|
4501
4620
|
# Convert the specified column to a categorical type with the custom order
|
4502
4621
|
df[column] = pd.Categorical(df[column], categories=by, ordered=True)
|
4622
|
+
else:
|
4623
|
+
raise ValueError("Custom order must be a list or 'count'.")
|
4624
|
+
|
4625
|
+
try:
|
4503
4626
|
if inplace: # replace the original
|
4504
4627
|
df.sort_values(column, ascending=ascending, inplace=True, **kwargs)
|
4505
4628
|
print(f"Successfully sorted DataFrame by '{column}'")
|
@@ -4513,6 +4636,7 @@ def df_sort_values(df, column, by=None, ascending=True, inplace=False, **kwargs)
|
|
4513
4636
|
return df
|
4514
4637
|
|
4515
4638
|
|
4639
|
+
|
4516
4640
|
# # Example usage:
|
4517
4641
|
# # Sample DataFrame
|
4518
4642
|
# data = {
|
py2ls/netfinder.py
CHANGED
@@ -31,7 +31,7 @@ from PIL import Image
|
|
31
31
|
from duckduckgo_search import DDGS
|
32
32
|
from datetime import datetime
|
33
33
|
import time
|
34
|
-
from
|
34
|
+
from . import ips
|
35
35
|
|
36
36
|
dir_save = "/Users/macjianfeng/Dropbox/Downloads/"
|
37
37
|
# Set up logging
|
@@ -421,12 +421,25 @@ def fetch_all(
|
|
421
421
|
prefs = {"profile.managed_default_content_settings.images": 2}
|
422
422
|
chrome_options.add_experimental_option("prefs", prefs)
|
423
423
|
# chrome_options.page_load_strategy = capability
|
424
|
+
try:
|
425
|
+
# Try to install ChromeDriver using webdriver-manager
|
424
426
|
|
425
|
-
|
426
|
-
|
427
|
-
# service=Service(executable_path=driver_path)
|
427
|
+
# driver_pah='/Users/macjianfeng/.wdm/drivers/chromedriver/mac64/129.0.6668.100/chromedriver-mac-arm64/chromedriver'
|
428
|
+
# service=Service(executable_path=driver_path)
|
428
429
|
|
429
|
-
|
430
|
+
service = Service(ChromeDriverManager().install())
|
431
|
+
driver_ = webdriver.Chrome(service=service, options=chrome_options)
|
432
|
+
except Exception as e:
|
433
|
+
print(f"Error occurred: {e}")
|
434
|
+
print("Attempting to reinstall webdriver-manager...")
|
435
|
+
try:
|
436
|
+
ips.upgrade("webdriver-manager", uninstall=True)
|
437
|
+
service = Service(ChromeDriverManager().install())
|
438
|
+
driver_ = webdriver.Chrome(service=service, options=chrome_options)
|
439
|
+
except Exception as reinstall_error:
|
440
|
+
print(
|
441
|
+
f"Reinstallation failed: {reinstall_error}\n之前发生过类似的问题, 更新了webdriver-manager以后得到解决"
|
442
|
+
)
|
430
443
|
|
431
444
|
# 隐式等等待
|
432
445
|
if 3 < wait < 5:
|
py2ls/plot.py
CHANGED
@@ -10,16 +10,124 @@ from cycler import cycler
|
|
10
10
|
import logging
|
11
11
|
import os
|
12
12
|
import re
|
13
|
-
|
13
|
+
from typing import List, Optional, Union
|
14
14
|
from .ips import fsave, fload, mkdir, listdir, figsave, strcmp, unique, get_os, ssplit
|
15
15
|
from .stats import *
|
16
16
|
from .netfinder import get_soup, fetch
|
17
17
|
|
18
|
-
|
19
18
|
# Suppress INFO messages from fontTools
|
20
19
|
logging.getLogger("fontTools").setLevel(logging.WARNING)
|
21
20
|
|
22
21
|
|
22
|
+
def add_text(ax=None, height_offset=0.5, fmt=".1f", **kwargs):
|
23
|
+
"""Adds text annotations for various types of Seaborn and Matplotlib plots.
|
24
|
+
Args:
|
25
|
+
ax: Axes object.
|
26
|
+
height_offset: 0.5 (default) The vertical distance (offset) to place the text.
|
27
|
+
fmt: Default is ".1f" for one decimal place.
|
28
|
+
**kwargs: Additional keyword arguments for the text function
|
29
|
+
Usage:
|
30
|
+
ax = sns.barplot(x='Category', y='Values', data=data)
|
31
|
+
add_text(ax=ax, height_offset=1.0, color='black', fontsize=12)
|
32
|
+
|
33
|
+
The function will automatically detect the type of plot and add annotations accordingly.
|
34
|
+
It supports annotations for:
|
35
|
+
- **Bar Plots**: Displays the height of each bar.
|
36
|
+
- **Box Plots**: Shows the height of the boxes.
|
37
|
+
- **Scatter and Line Plots**: Displays the y-value for each point.
|
38
|
+
- **Histograms and KDE Plots**: Shows the maximum height of the bars.
|
39
|
+
- **Other Plots**: If the Axes contains containers, it handles those as well.
|
40
|
+
"""
|
41
|
+
from matplotlib.collections import LineCollection
|
42
|
+
|
43
|
+
ha = kwargs.pop("ha", "center")
|
44
|
+
va = kwargs.pop("va", "bottom")
|
45
|
+
if ax is None:
|
46
|
+
ax = plt.gca()
|
47
|
+
# Check if the Axes has patches (for bar, count, boxen, violin, and other plots with bars)
|
48
|
+
# Check for artists (for box plots)
|
49
|
+
if hasattr(ax, "artists") and ax.artists:
|
50
|
+
print("artists")
|
51
|
+
for box in ax.artists:
|
52
|
+
if hasattr(box, "get_height") and hasattr(box, "get_y"):
|
53
|
+
height = box.get_y() + box.get_height() # For box plots
|
54
|
+
|
55
|
+
ax.text(
|
56
|
+
box.get_x() + box.get_width() / 2.0,
|
57
|
+
height + height_offset,
|
58
|
+
format(height, fmt),
|
59
|
+
ha=ha,
|
60
|
+
va=va,
|
61
|
+
**kwargs,
|
62
|
+
)
|
63
|
+
|
64
|
+
# Scatter plot or line plot
|
65
|
+
if hasattr(ax, "lines"):
|
66
|
+
print("lines")
|
67
|
+
for line in ax.lines:
|
68
|
+
if hasattr(line, "get_xydata"):
|
69
|
+
xdata, ydata = line.get_xydata().T # Get x and y data points
|
70
|
+
for x, y in zip(xdata, ydata):
|
71
|
+
ax.text(x, y + height_offset, format(y, fmt), **kwargs)
|
72
|
+
|
73
|
+
if hasattr(ax, "patches") and ax.patches:
|
74
|
+
print("patches")
|
75
|
+
for p in ax.patches:
|
76
|
+
if hasattr(p, "get_height"):
|
77
|
+
height = p.get_height() # For bar plots
|
78
|
+
|
79
|
+
ax.text(
|
80
|
+
p.get_x() + p.get_width() / 2.0,
|
81
|
+
height + height_offset,
|
82
|
+
format(height, fmt),
|
83
|
+
ha=ha,
|
84
|
+
va=va,
|
85
|
+
**kwargs,
|
86
|
+
)
|
87
|
+
# For histplot, kdeplot, rugplot
|
88
|
+
if hasattr(ax, "collections"):
|
89
|
+
print("collections")
|
90
|
+
for collection in ax.collections:
|
91
|
+
# If it is a histogram or KDE plot
|
92
|
+
if isinstance(collection, LineCollection):
|
93
|
+
for path in collection.get_paths():
|
94
|
+
if hasattr(path, "vertices"):
|
95
|
+
vertices = path.vertices
|
96
|
+
# Get the heights (y values) for histogram or KDE plots
|
97
|
+
ax.text(
|
98
|
+
vertices[:, 0].mean(),
|
99
|
+
vertices[:, 1].max() + height_offset,
|
100
|
+
format(vertices[:, 1].max(), fmt),
|
101
|
+
**kwargs,
|
102
|
+
)
|
103
|
+
# Handle point, strip, and swarm plots
|
104
|
+
elif isinstance(collection, LineCollection):
|
105
|
+
for path in collection.get_paths():
|
106
|
+
vertices = path.vertices
|
107
|
+
ax.text(
|
108
|
+
vertices[:, 0].mean(),
|
109
|
+
vertices[:, 1].max() + height_offset,
|
110
|
+
format(vertices[:, 1].max(), fmt),
|
111
|
+
**kwargs,
|
112
|
+
)
|
113
|
+
# Handle bar charts (not from seaborn)
|
114
|
+
if hasattr(ax, "containers"):
|
115
|
+
print("containers")
|
116
|
+
for container in ax.containers:
|
117
|
+
for bar in container:
|
118
|
+
if hasattr(bar, "get_height"):
|
119
|
+
height = bar.get_height()
|
120
|
+
|
121
|
+
ax.text(
|
122
|
+
bar.get_x() + bar.get_width() / 2.0,
|
123
|
+
height + height_offset,
|
124
|
+
format(height, fmt),
|
125
|
+
ha=ha,
|
126
|
+
va=va,
|
127
|
+
**kwargs,
|
128
|
+
)
|
129
|
+
|
130
|
+
|
23
131
|
def heatmap(
|
24
132
|
data,
|
25
133
|
ax=None,
|
@@ -44,6 +152,36 @@ def heatmap(
|
|
44
152
|
yticklabels=True, # Show row labels
|
45
153
|
**kwargs,
|
46
154
|
):
|
155
|
+
"""
|
156
|
+
plot heatmap or clustermap for a given dataset (DataFrame).
|
157
|
+
|
158
|
+
Parameters:
|
159
|
+
- data (pd.DataFrame): The input data to visualize.
|
160
|
+
- ax (matplotlib.Axes, optional): Axis object to plot on. If None and cluster=False, a new axis is created.
|
161
|
+
- kind (str, default="corr"): Type of heatmap to plot. Options:
|
162
|
+
- "corr": Correlation heatmap based on numeric columns.
|
163
|
+
- "direct": Direct visualization of the numeric data.
|
164
|
+
- "pivot": Creates a heatmap using the `pivot_table` method.
|
165
|
+
- columns (str or list, default="all"): Columns to include in the heatmap. For pivoting, this specifies the 'columns' argument.
|
166
|
+
- index (str, optional): For pivot heatmap, sets the 'index' argument.
|
167
|
+
- values (str, optional): For pivot heatmap, sets the 'values' argument.
|
168
|
+
- tri (str, default="u"): Specifies whether to show the 'upper' or 'lower' triangle in the heatmap.
|
169
|
+
- mask (bool, default=True): Whether to mask half of the correlation matrix.
|
170
|
+
- k (int, default=1): Controls how much of the triangle is masked in correlation heatmaps.
|
171
|
+
- annot (bool, default=True): If True, writes the data values in each cell.
|
172
|
+
- cmap (str, default="coolwarm"): The colormap for the heatmap.
|
173
|
+
- fmt (str, default=".2f"): String formatting code for annotating cells.
|
174
|
+
- cluster (bool, default=False): If True, a clustermap with hierarchical clustering is plotted.
|
175
|
+
- inplace (bool, default=False): If True, modifies the original data. Not currently used.
|
176
|
+
- figsize (tuple, default=(10, 8)): Size of the figure for the heatmap.
|
177
|
+
- row_cluster (bool, default=True): Perform clustering on rows.
|
178
|
+
- col_cluster (bool, default=True): Perform clustering on columns.
|
179
|
+
- dendrogram_ratio (tuple, default=(0.2, 0.1)): Adjust the size of the dendrograms.
|
180
|
+
- cbar_pos (tuple, default=(0.02, 1, 0.02, 0.1)): Adjust the position of the colorbar.
|
181
|
+
- xticklabels (bool, default=True): Show or hide the column labels.
|
182
|
+
- yticklabels (bool, default=True): Show or hide the row labels.
|
183
|
+
- **kwargs: Additional arguments passed to `sns.heatmap` or `sns.clustermap`.
|
184
|
+
"""
|
47
185
|
if ax is None and not cluster:
|
48
186
|
ax = plt.gca()
|
49
187
|
# Select numeric columns or specific subset of columns
|
@@ -54,7 +192,8 @@ def heatmap(
|
|
54
192
|
|
55
193
|
kinds = ["corr", "direct", "pivot"]
|
56
194
|
kind = strcmp(kind, kinds)[0]
|
57
|
-
|
195
|
+
print(kind)
|
196
|
+
if "corr" in kind: # correlation
|
58
197
|
# Compute the correlation matrix
|
59
198
|
data4heatmap = df_numeric.corr()
|
60
199
|
# Generate mask for the upper triangle if mask is True
|
@@ -146,11 +285,26 @@ def heatmap(
|
|
146
285
|
)
|
147
286
|
# Return the Axes object for further customization if needed
|
148
287
|
return ax
|
149
|
-
elif kind
|
288
|
+
elif "dir" in kind: # direct
|
150
289
|
data4heatmap = df_numeric
|
151
|
-
elif kind
|
152
|
-
|
153
|
-
|
290
|
+
elif "pi" in kind: # pivot
|
291
|
+
try:
|
292
|
+
print(
|
293
|
+
f'pivot: \n\tneed at least 3 param: e.g., index="Task", columns="Model", values="Score"'
|
294
|
+
)
|
295
|
+
data4heatmap = data.pivot(index=index, columns=columns, values=values)
|
296
|
+
except:
|
297
|
+
print(
|
298
|
+
f'pivot_table: \n\tneed at least 4 param: e.g., index="Task", columns="Model", values="Score",aggfunc="mean"'
|
299
|
+
)
|
300
|
+
aggfunc = "mean"
|
301
|
+
for k_, v_ in kwargs.items():
|
302
|
+
if "agg" in k_.lower():
|
303
|
+
aggfunc = v_
|
304
|
+
kwargs.pop(k_, None)
|
305
|
+
data4heatmap = data.pivot_table(
|
306
|
+
index=index, columns=columns, values=values, aggfunc=aggfunc
|
307
|
+
)
|
154
308
|
else:
|
155
309
|
print(f'"{kind}" is not supported')
|
156
310
|
# Remove conflicting kwargs
|
@@ -2710,7 +2864,7 @@ import matplotlib.pyplot as plt
|
|
2710
2864
|
from PIL import Image
|
2711
2865
|
|
2712
2866
|
|
2713
|
-
def thumbnail(dir_img_list: list, figsize=(10, 10), dpi=100, show=False,
|
2867
|
+
def thumbnail(dir_img_list: list, figsize=(10, 10), dpi=100, show=False, verbose=False):
|
2714
2868
|
"""
|
2715
2869
|
Display a thumbnail figure of all images in the specified directory.
|
2716
2870
|
|
@@ -2719,7 +2873,7 @@ def thumbnail(dir_img_list: list, figsize=(10, 10), dpi=100, show=False, usage=F
|
|
2719
2873
|
figsize (tuple): Size of the figure (width, height) in inches.
|
2720
2874
|
dpi (int): Dots per inch for the figure.
|
2721
2875
|
"""
|
2722
|
-
if
|
2876
|
+
if verbose:
|
2723
2877
|
print(
|
2724
2878
|
'thumbnail(listdir("./img-innere-medizin-ii", ["jpeg", "jpg", "png"]).fpath.tolist(),figsize=[5,5],dpi=200)'
|
2725
2879
|
)
|
@@ -2765,13 +2919,26 @@ def plot_xy(
|
|
2765
2919
|
x=None,
|
2766
2920
|
y=None,
|
2767
2921
|
ax=None,
|
2768
|
-
kind: str = None, # Specify the kind of plot
|
2769
|
-
|
2770
|
-
|
2922
|
+
kind: Union(str, list) = None, # Specify the kind of plot
|
2923
|
+
verbose=False,
|
2924
|
+
**kwargs,
|
2925
|
+
):
|
2926
|
+
# You can call the original plotxy function if needed
|
2927
|
+
# or simply replicate the functionality here
|
2928
|
+
return plotxy(data, x, y, ax, kind, verbose, **kwargs)
|
2929
|
+
|
2930
|
+
|
2931
|
+
def plotxy(
|
2932
|
+
data: pd.DataFrame = None,
|
2933
|
+
x=None,
|
2934
|
+
y=None,
|
2935
|
+
ax=None,
|
2936
|
+
kind: Union(str, list) = None, # Specify the kind of plot
|
2937
|
+
verbose=False,
|
2771
2938
|
**kwargs,
|
2772
2939
|
):
|
2773
2940
|
"""
|
2774
|
-
e.g.,
|
2941
|
+
e.g., plotxy(data=data_log, x="Component_1", y="Component_2", hue="Cluster",kind='scater)
|
2775
2942
|
Create a variety of plots based on the kind parameter.
|
2776
2943
|
|
2777
2944
|
Parameters:
|
@@ -2781,7 +2948,7 @@ def plot_xy(
|
|
2781
2948
|
hue (str): Column name for the hue (color) grouping.
|
2782
2949
|
ax: Matplotlib axes object for the plot.
|
2783
2950
|
kind (str): Type of plot ('scatter', 'line', 'displot', 'kdeplot', etc.).
|
2784
|
-
|
2951
|
+
verbose (bool): If True, print default settings instead of plotting.
|
2785
2952
|
**kwargs: Additional keyword arguments for the plot functions.
|
2786
2953
|
|
2787
2954
|
Returns:
|
@@ -2804,8 +2971,8 @@ def plot_xy(
|
|
2804
2971
|
kind = [kind]
|
2805
2972
|
kind = [strcmp(i, valid_kinds)[0] for i in kind]
|
2806
2973
|
else:
|
2807
|
-
|
2808
|
-
if
|
2974
|
+
verbose = True
|
2975
|
+
if verbose:
|
2809
2976
|
if kind is not None:
|
2810
2977
|
for k in kind:
|
2811
2978
|
if k in valid_kinds:
|
@@ -2823,7 +2990,7 @@ def plot_xy(
|
|
2823
2990
|
kind=["scatter","rug"],
|
2824
2991
|
kws_rug=dict(height=0.2),
|
2825
2992
|
kws_scatter=dict(s=20, color=get_color(3)[2]),
|
2826
|
-
|
2993
|
+
verbose=0)
|
2827
2994
|
"""
|
2828
2995
|
print(f"currently support to plot:\n{valid_kinds}\n\nusage:\n{usage_str}")
|
2829
2996
|
return # Do not plot, just print the usage
|
@@ -2834,6 +3001,12 @@ def plot_xy(
|
|
2834
3001
|
kws_figsets = v_arg
|
2835
3002
|
kwargs.pop(k_arg, None)
|
2836
3003
|
break
|
3004
|
+
kws_add_text = {}
|
3005
|
+
for k_arg, v_arg in kwargs.items():
|
3006
|
+
if "add" in k_arg and "text" in k_arg: # add_text
|
3007
|
+
kws_add_text = v_arg
|
3008
|
+
kwargs.pop(k_arg, None)
|
3009
|
+
break
|
2837
3010
|
|
2838
3011
|
for k in kind:
|
2839
3012
|
# indicate 'col' features
|
@@ -2879,6 +3052,7 @@ def plot_xy(
|
|
2879
3052
|
ax = stdshade(ax=ax, **kwargs)
|
2880
3053
|
elif k == "scatterplot":
|
2881
3054
|
kws_scatter = kwargs.pop("kws_scatter", kwargs)
|
3055
|
+
hue = kwargs.pop("hue", None)
|
2882
3056
|
palette = kws_scatter.pop(
|
2883
3057
|
"palette",
|
2884
3058
|
(
|
@@ -2915,7 +3089,8 @@ def plot_xy(
|
|
2915
3089
|
ax = sns.rugplot(data=data, x=x, ax=ax, **kws_rug)
|
2916
3090
|
elif k == "stripplot":
|
2917
3091
|
kws_strip = kwargs.pop("kws_strip", kwargs)
|
2918
|
-
|
3092
|
+
dodge = kws_strip.pop("dodge", True)
|
3093
|
+
ax = sns.stripplot(data=data, x=x, y=y, ax=ax, dodge=dodge, **kws_strip)
|
2919
3094
|
elif k == "swarmplot":
|
2920
3095
|
kws_swarm = kwargs.pop("kws_swarm", kwargs)
|
2921
3096
|
ax = sns.swarmplot(data=data, x=x, y=y, ax=ax, **kws_swarm)
|
@@ -2947,7 +3122,8 @@ def plot_xy(
|
|
2947
3122
|
kws_line = kwargs.pop("kws_line", kwargs)
|
2948
3123
|
ax = sns.lineplot(ax=ax, data=data, x=x, y=y, **kws_line)
|
2949
3124
|
|
2950
|
-
figsets(**kws_figsets)
|
3125
|
+
figsets(ax=ax, **kws_figsets)
|
3126
|
+
add_text(ax=ax, **kws_add_text) if kws_add_text else None
|
2951
3127
|
print(k, " ⤵ ")
|
2952
3128
|
print(default_settings[k])
|
2953
3129
|
print(
|
@@ -2978,7 +3154,7 @@ def volcano(
|
|
2978
3154
|
alpha=0.8,
|
2979
3155
|
legend=False,
|
2980
3156
|
ax=None,
|
2981
|
-
|
3157
|
+
verbose=False,
|
2982
3158
|
kws_arrow=None,
|
2983
3159
|
kws_text=None,
|
2984
3160
|
**kwargs,
|
@@ -3035,11 +3211,11 @@ def volcano(
|
|
3035
3211
|
edgecolor="0.5",
|
3036
3212
|
kws_text=dict(fontsize=10, color="k"),
|
3037
3213
|
kws_arrow=dict(style="-", color="k", lw=0.5),
|
3038
|
-
#
|
3214
|
+
# verbose=True,
|
3039
3215
|
figsets=dict(ylim=[0, 10], title="df"),
|
3040
3216
|
)
|
3041
3217
|
"""
|
3042
|
-
if
|
3218
|
+
if verbose:
|
3043
3219
|
print(usage_str)
|
3044
3220
|
return
|
3045
3221
|
from adjustText import adjust_text
|
@@ -1,4 +1,4 @@
|
|
1
|
-
py2ls/.DS_Store,sha256=
|
1
|
+
py2ls/.DS_Store,sha256=9qxq9N5T7k6muGHxG5s6yEdEEYqEh8eDGT3w7LokxsU,6148
|
2
2
|
py2ls/.git/COMMIT_EDITMSG,sha256=AdtqRHle5Ej2EBNPJY79v-SB454v5UK4wuPCPFELiFQ,11
|
3
3
|
py2ls/.git/FETCH_HEAD,sha256=VM-2Jiw6iPaGu0ftg9xwq76OyNPWV0iT1nL0VWiL1zI,100
|
4
4
|
py2ls/.git/HEAD,sha256=KNJb-Cr0wOK3L1CVmyvrhZ4-YLljCl6MYD2tTdsrboA,21
|
@@ -203,23 +203,23 @@ py2ls/data/styles/style6.json,sha256=tu-MYOT9x5Rorc-2IK6sy-J-frmz0RNdm65XAsDQKX4
|
|
203
203
|
py2ls/data/styles/style7.json,sha256=StdUFwIVrS7T_6CDrADHMorzc0WZFWBM7IyYdO1TPHg,4447
|
204
204
|
py2ls/data/styles/style8.json,sha256=8XUgkZtew8ebvjbAHlDHCSWUqNra3ktDvMCO4vNh-CM,4456
|
205
205
|
py2ls/data/styles/style9.json,sha256=PLxvntbH_kfzZlnCTtCEAUVBGi5m6Lngb9C01rArQog,4769
|
206
|
-
py2ls/data/usages_pd.json,sha256=
|
207
|
-
py2ls/data/usages_sns.json,sha256=
|
206
|
+
py2ls/data/usages_pd.json,sha256=A76y7lr28BUBdggFN_50r-4My3Q51M_3y0ZcQ4LHSco,15077
|
207
|
+
py2ls/data/usages_sns.json,sha256=3OTu6T7n9HbQaFkz-UPMJ_9-Ug6Xjf7q5aDIvZ_6cHk,9246
|
208
208
|
py2ls/db2ls.py,sha256=MMfFX47aIPIyu7fU9aPvX9lbPRPYOpJ_VXwlnWk-8qo,13615
|
209
209
|
py2ls/doc.py,sha256=xN3g1OWfoaGUhikbJ0NqbN5eKy1VZVvWwRlhHMgyVEc,4243
|
210
210
|
py2ls/export_requirements.py,sha256=x2WgUF0jYKz9GfA1MVKN-MdsM-oQ8yUeC6Ua8oCymio,2325
|
211
|
+
py2ls/fetch_update.py,sha256=jh2MQHREpCqzYhDmEnMpuIvQVf4_wD9pDdIziXoFE3E,4055
|
211
212
|
py2ls/freqanalysis.py,sha256=F4218VSPbgL5tnngh6xNCYuNnfR-F_QjECUUxrPYZss,32594
|
212
213
|
py2ls/ich2ls.py,sha256=3E9R8oVpyYZXH5PiIQgT3CN5NxLe4Dwtm2LwaeacE6I,21381
|
213
|
-
py2ls/ips.py,sha256=
|
214
|
-
py2ls/netfinder.py,sha256=
|
214
|
+
py2ls/ips.py,sha256=fBBco8wQFc6u4KxJ32xwrMh1SZeNz4o8ohiUB5WMKOs,199755
|
215
|
+
py2ls/netfinder.py,sha256=LwBkGITB_4BTNtY6RlKdEZVFW6epzMWlnqy2g03KtyU,56117
|
215
216
|
py2ls/ocr.py,sha256=5lhUbJufIKRSOL6wAWVLEo8TqMYSjoI_Q-IO-_4u3DE,31419
|
216
|
-
py2ls/plot.py,sha256=
|
217
|
+
py2ls/plot.py,sha256=m8SxFSS1ogwRNQ-O9l-BJWqjGPmjGbsegU56kXG0krw,135132
|
217
218
|
py2ls/setuptools-70.1.0-py3-none-any.whl,sha256=2bi3cUVal8ip86s0SOvgspteEF8SKLukECi-EWmFomc,882588
|
218
219
|
py2ls/sleep_events_detectors.py,sha256=bQA3HJqv5qnYKJJEIhCyhlDtkXQfIzqksnD0YRXso68,52145
|
219
220
|
py2ls/stats.py,sha256=DMoJd8Z5YV9T1wB-4P52F5K5scfVK55DT8UP4Twcebo,38627
|
220
221
|
py2ls/translator.py,sha256=zBeq4pYZeroqw3DT-5g7uHfVqKd-EQptT6LJ-Adi8JY,34244
|
221
|
-
py2ls/update2usage.py,sha256=9uLoipgM0k-xUy56XOa6v-sOim3mE5srdNiPzn03ALY,3964
|
222
222
|
py2ls/wb_detector.py,sha256=7y6TmBUj9exCZeIgBAJ_9hwuhkDh1x_-yg4dvNY1_GQ,6284
|
223
|
-
py2ls-0.2.
|
224
|
-
py2ls-0.2.
|
225
|
-
py2ls-0.2.
|
223
|
+
py2ls-0.2.4.1.dist-info/METADATA,sha256=xxXfqGzklXZ1eGESjgYcm1ptiKIRl_Nk0AlfUIyYSIU,20038
|
224
|
+
py2ls-0.2.4.1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
225
|
+
py2ls-0.2.4.1.dist-info/RECORD,,
|
File without changes
|