python---pandas基础知识和样例

文中用到的文件:

 提取码:8828

  • # as 是导包起别名
    from pandas  import Series,DataFrame  
    # Series 序列 是一个一维数组的对象 由 数据和索引组成
    # ***** DataFrame 类似于表格的结构,包含一组有序的列,包含行索引和列索引
    #定义Series
  • #序列的定义方式
    x = Series(data=['巡回检查组','将军家的小娘子','知否知否','铁齿灵牙纪晓岚'],
             index=['a','b','c','d'] )
    x

  • type(x)

  • y = Series(data=[{"name":"李雷","age":30,'hobby':"电子竞技"},
                     {"name":"李雷1","age":31,'hobby':"电子竞技1"},
                     {"name":"李雷2","age":32,'hobby':"电子竞技2"},
                     {"name":"李雷3","age":33,'hobby':"电子竞技3"}],
              index=['d','c','e','f'])
    y

  • #通过指定索引 访问我的序列
    y['d':'f']

  • #通过默认的索引
    y[0:2]
    # 根据索引删除序列
    #y = y.drop('e')

  • df = DataFrame(
        data={'name': ['曹文杰','吴彦祖','郑伊健','任达华'],
         "age":[33,78,90,23],
         "hobby":['干饭人','不讲武德','耗子尾汁','足球']
         },
        index=['first','second','third','four']
    )
    df

  • df.loc['first':'third',['name','age']]

  • df.loc['first':'third',:]

  • #根据默认索引进行 行和列的筛选
    #df.iloc[0:3,0:3]
    # 只筛选  2行和第3行,第一列和第三列
    df.iloc[[1,2],0:3]

  • # pandas 读取文件
    pd.read_csv('write.csv')

  • #读取  excel 表格
    #读取  excel表格的数据
    df = pd.read_excel('data/3.xlsx',sheet_name='data')
    df

  • df = pd.read_excel('data/3.xlsx',sheet_name=['data','data2'])
  • df

  • # 对表格里的数据去除重复
    df2 = pd.read_csv("data/data.csv")
    #去除重复数据
    df2 = df2.drop_duplicates()
    df2

  • #对字符串 进行替换
    df3 = pd.read_csv("data/data2.csv")
    # 把标题中的名字 J 换成I (replace)--->   strip() 去除两边空格
    df3 = df3['name'].str.replace("J","I").str.replace('n',"N").str.strip()
    df3

  • #对数据大小进行范围的筛选
    df4 = pd.read_csv("data/data4.csv",sep="|")
    # 找数据大于 10000 条的数据
    #df4 = df4[df4.comments>10000]
    df4 = df4[df4.comments.between(10000,30000)]
    df4

  • df4 = pd.read_csv("data/data4.csv",sep="|")
    df4

  • # 找到数据 属性为空的
    df4[pd.isnull(df4["title"])]

  • df71 = pd.read_csv("data/data7-1.csv",sep="|",names=["id","comments","title"])
  • df71

  • df72 = pd.read_csv("data/data7-2.csv",sep="|",names=["id","oldPrice","newPrice"])
    df72

  • # 将两张表进行合并,要求 id的列名要一致
    newdf1 = pd.merge(df71,df72)
    #输出所有的数据
    newdf1[:]

  • # 表格中的数据,两列的乘积的结果放到新的一列
    df8 = pd.read_csv("data/data8.csv",sep="|")
    df8

  • # 两列的乘积 加到新的一列
    df8["result"] = df8.price*df8.num
    df8

  • # 按照组进行划分,显示每个组的数量
    df9.groupby("address").count().reset_index()

  • #显示各个地区 分数的平均值,reset_index 重新设置索引
    df9.groupby("address")['score'].mean().reset_index()

  • # 将 最大,最小,平均值 一次性都展示出来
    df9.groupby("address")['score'].agg(['mean','max','min']).reset_index()

  • df9

  • # 将改表格  按照年龄进行排序
    
    df9.sort_values(by="age",ascending=False).reset_index()

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值