python pandas 练习题一百道-长期更新

  1.  插入数据
    import pandas as pd
    import numpy as np
    data = {"grammer":["Python","C","Java","Go",np.nan,"SQL","Php","Python"],
           "score":[1,2,np.nan,4,5,6,7,10]
           }
  2. 提取含有python的行
    df[df["grammer"]=="Python"]
  3.  输出所有的列名
    df.columns
  4. 修改第二列为popularity

    df.rename(columns={"score":"popularity"},inplace= True)
  5. 统计grammer列中每种编程语言出现的次数

    df["grammer"].value_counts()
  6. 将空值用上下值的平均值来填充 针对popularity列

    df["popularity"].fillna(df["popularity"].interpolate(),inplace=True)
  7. 提取popularity列大于3的行

    df[df["popularity"]>3]
  8. 按照grammer列去除重复值

    df.drop_duplicates(["grammer"],inplace=True)
  9.  计算popularity列的平均值

    df["popularity"].mean()
  10. 将grammer列转换为list

    df["grammer"].tolist()
  11. 将文件保存在excel文件

    df.to_excel("test.xlsx")
  12. 查看数据列的行数

    df.shape
  13. # 提取popularity列大于3且小于7的行

    df[(df["popularity"]>3) & (df["popularity"]<7)]
  14. # 交换两列的位置

    df[df.columns[[1,0]]]
  15. 提取popularity列中的最大值的行

    df[df["popularity"]==df["popularity"].max()]
  16. # 查看最后5行的数据

    df.tail()
  17. # 删除最后一行的数据

    df.drop([len(df)-1],inplace= True)
  18. # 添加一行数据
     

    df.append({"grammer":"Perl","popularity":6.6},ignore_index=True)
  19. # 对数据按照popluarity进行降序排序
     

    df.sort_values("popularity",ascending=False)
  20. # 统计grammer列的字符串长度

    df["len_str"] = df["grammer"].map(lambda x:len(x))
  21. 打印pandas的全部列和行

    pd.set_option("display.max_rows",None)
    pd.set_option("display.max_columns",None)
  22. 删除多层索引的列

    data_level.columns=data_level.columns.droplevel(0)
  23. 统计分析的一些方法

    data_level =  pd.DataFrame( data_suc.groupby(["层级名称"]).agg({"实际金额":["count","sum","mean"]}))
  24. 在保存csv文件的时候,如果打开之后是乱码,可以保存为

    df.to_csv("数据文件/代理分析.csv",encoding="utf-8-sig")


     

  25. 插入数据库

    import pymysql
    import pandas as pd
    from sqlalchemy import create_engine
    conn = create_engine('mysql+pymysql://root:root@localhost:3306/开元',encoding='utf8')  
    #写入数据,table_name为表名,‘replace’表示如果同名表存在就替换掉
    pd.io.sql.to_sql(data_test, "会员名单", conn, if_exists='replace')

  26. 分组之后查询

    data.groupby(["银行账户姓名","银行卡号","银行名称"]).filter(lambda x:x["申请提现金额"].sum()>10000)

28.获取当前时间戳

import datetime
from time import time
datetime.datetime.fromtimestamp(time()).strftime("%Y-%m-%d %H:%M:%S")

29.窗口函数

data.rolling(window=2).sum()

30.把多个工作表写入同一个工作簿

writer = pd.ExcelWriter('output.xlsx', engine ='xlsxwriter')
datacount_success.to_excel(writer, sheet_name='Sheet1')
datacount_catchmore.to_excel(writer,sheet_name="匹配多个")
datacount_uncatch.to_excel(writer, sheet_name="没有匹配到的")
datacount_error.to_excel(writer, sheet_name="没有查询到卡号的")
writer.save()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值