交互式数据分析和python笔记

1、安装conda 类似npm的n
https://www.jianshu.com/p/544a4c8a8186
 
# 安装python 以及依赖
conda create -n joy python==3.10.10
# 激活环境
conda activate myenv

  

 

2、安装交互式数据分析包streamlit 

https://zhuanlan.zhihu.com/p/257074934 

  streamlit run streamlitDemo.py

注意安装依赖包,文件格式和语句,避免报错 

 
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt import plotly.figure_factory as ff

# st.title("streamlit demo")

@st.cache
def load_data(path):
df = pd.read_csv(path)
df.columns = df.columns.str.lower()
# df['date'] = pd.to_datetime(df['transaction_date']).dt.date # df['price'] = df['price'].str.replace(",",'').astype(float) return df
df = load_data("warningMsgMgt2.csv") st.table(df.head(5))

#####

st.title('使用streamlit的api画图')
sub_df = df[['type', 'time']]
sub_df = sub_df.groupby('time').agg(sum) st.line_chart(sub_df["type"])

#####

st.title('使用plotly的api画图')
fig = ff.create_distplot([sub_df['type']], group_labels = ['time'], bin_size=2500)
st.plotly_chart(fig, use_container_width=True)

  

 更多好玩的例子

https://share.streamlit.io/redirect

https://docs.streamlit.io/ 文档 

  streamlit hello

  

 很早之前学python做的笔记

20200217   学习python的基础概念,print单行代码
20200218    安装python3,vscode写python,认识交互模式和命令模式(交互,一行一行执行,调试用,python shell ||命令,一次性执行.py文件,正式运行环境,vscode终端运行文件)
20200219    Python代码运行助手,在线编译
         输入与输出,变量。注意更新后清空一下终端,否则容易报错
         类型,转义符\  r'’简化   ;换行''' ……'''
         变量,动态语言;= 赋值
20200220    字符串和编码,计算字符串长度 str();编码转换指定编码,一般用UTF-8转换
                     %s,字符串;%d 整数;%f 浮点数,%----%%转义
 
                    list  like array,越看越觉得跟js类似了 []
                    tupel   array ,不能修改,()    里面的元素用逗号分隔(一个元素也用逗号),tupel里面的list是可以改变的
20200221   条件判断  if    elif  (js 里面else if,最后的else 没有条件)
                    注意:if后面带:冒号;if 后面内容缩进
20200222   循环  
                    for    while  
                    break   continue   必须配合 if 使用
                    for in ,for 后面也要加冒号,循环操作缩进
                     
                    dict (=js 的 map) 键值对, dict的key必须是不可变对象      d={'a':1,'b':2}
                    set   (=js 有index的对象元素),重复元素会被自动过滤     s={1,2,3}
                    以上两者都不能放入list(可变元素),只能放入整数和字符串
                    add(key),remove(key)
                    对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
                    键key不能用list,键值对的值能用list
20200223    函数
                     用from abstest import my_abs来导入my_abs()函数  跟react一样
                    自定义函数   def开头    =function
                    pass 空函数,做占位符
                     函数可以同时返回多个值,但其实就是一个tuple。
then 函数的参数
20200224     *nums表示把nums这个list的所有元素作为可变参数传进去
                    参数,*args是可变参数,args接收的是一个tuple, func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
                    **kw是关键字参数,kw接收的是一个dict, func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})
            python 一定要注意缩进 ; = 是赋值,==是判断
20200225     递归  (循环)栈溢出   使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出(其他语言也是差不多)
20200226     切片(截取数列)     关于带空格字符串的切片?
                    L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
                    L[:10] L数列前十个数;L[:-10]L数列后十个数;L[10:20]  11-20个数; L[:10:2] 前10个数,每两个取一个(奇数或者偶数列);L[::5]所有数,每五个取一个;L[:]复制一个数列
 
20200227    迭代   for n in  list
                    list变索引元素对;打印元素对
 
 
posted @ 2023-08-04 14:20  优前程  阅读(21)  评论(0编辑  收藏  举报