python(21)-pandas-常用函数

 pandas常用函数

1.导入
2.数据清洗、预处理
3.数据分类、筛选
4.数据统计
5.导出

def main():
    #1.导入与查看
    df=pd.DataFrame(pd.read_csv('',header=1))
    df = pd.DataFrame(pd.read_excel(""))
    df=pd.DataFrame({"id":[1001,1002,1003],
                     "date":pd.range("20191220",periods=6),
                     "city":["beijing","nanjing","shanghai"],
                     "value":[10.12,20.23,30.34]
                     },
                    columns=["id","date","city","value"])
    print(df.shape)           #查看行列
    df.info()
    df.head()
    print(df.shape)           #数据格式 int64..
    print(df.isnull())        #检查数据空值
    print(df['city'].isnull())#查看特定列空值
    print(df['city'].unique())#查看特定列唯一值
    print(df.value)           #查看数据表值
    print(df.colums)          #查看列名
    print(df.tail(3))         #查看后3行


    #2. 数据清洗、预处理
    df.dropna(how="any")                  #删除表中含有空值的行
    df.fillna(value=0)                    #0填充表中空值
    df["value"].fillna(df["value"].mean())#均值填充
    df["city"].fillna(df["city"].map(str.strip))  #清除字段中的字符空格
    df["city"]=df["city"].str.lower()             #大小写转换
    df["value"].astype('int')                     #更改数据格式
    df.rename(colums={"value":"value-2"})         # 更改列名
    df["value"].drop_duplicates()                 #删除重复值
    df["city"].replace("beijing","beijing2")      # 数据替换

    df1=pd.DataFrame({"id":[1001,1002,1003],
                     "gender":["male","female"],
                     "pay":["y","n","y"],
                     "m-point":[10.12,20]
                     },
                    )
    df_inner=pd.merge(df,df1,how="inner")
    df_left=pd.merge(df,df1,how="left")
    df_right = pd.merge(df, df1, how="right")
    df_outer = pd.merge(df, df1, how="outer")

    df.inner.set_index("id")          #设置索引
    df.inner.sort_value(by=["age"])  # 特定列的值排序


    #3. 数据分类、筛选
    df_inner['group']=np.where(df_inner['price']>3000,"high","low") #price>3000 group 显示high 否则显示low
    df_inner.loc[(df_inner['city']=="beijing")&(df_inner['price']>=4000),'sign']=1  #复合条件的数据进行分组标记
    print(df_inner.loc[3])     #索引提取单行的数值
    print(df_inner.loc[0:5])   #区间取值
    df_inner.reset_index()     #重设索引
    df_inner=df_inner.reset_index("date")#设置日期为索引
    print(df_inner[:"20191228"] ) #提取28号前的所有数据
    print(df_inner.iloc[:3,:2])   #按位置提取数据
    print(df_inner.iloc[[0,2,3], [2,3]])  # 按位置单独提取数据

    df_inner['city'].isin(["beijing"])#city列的值是否为beijng

    df_inner.groupby("city").count()  #对所有列进行计数汇总
    df_inner.groupby("city")["id"].count()  # 对所有列进行计数汇总
    df_inner.groupby(["city",'value'])["id"].count()

    #4.数据统计
    df_inner.sample(n=3)                 #简单的数据采样
    weights=[0,0,0,0,0.5,0.5]            #手动设置采样权重
    df_inner.sample(n=2,weights=weights)

    df_inner.sample(n=6,replace=False)   #采样后不放回
    df_inner.sample(n=6, replace=True)   #采样后放回

    print(df_inner.describe().round(2).T )       #描述性统计
    print(df_inner['value'].corr(df_inner["city"]))   # 相关性分析
    print(df_inner['value'].corr())


    #5.写入EXCEL
    df_inner.toexcel("save_excel.xlsx",sheet_name="mysheet")
    df_inner.to_csv("save_excel.csv")



    pass
if __name__=="__main__":
    main()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值