• Pandas库


      pandas学习中文文档

      

      1 """
      2 pandas模块的简单使用
      3 """
      4 import pandas as pd# pip install pandas
      5 from pandas import Series,DataFrame
      6 import numpy as np
      7 
      8 #向excel表格中写入数据
      9 # df=DataFrame(data=np.random.randint(0,100,size=(10,10)))
     10 # df.to_excel('test.xls')
     11 
     12 
     13 #Series一维数组
     14 
     15 #一维数组创建
     16 data=Series(data=[1,2,3,5,7])
     17 print(data)
     18 
     19 #一维数组创建,指定索引
     20 data=Series(data=[1,2,3,5,7],index=['a','b','c','d','e'])
     21 print(data)
     22 
     23 #unmpy随机生成数据
     24 data=Series(data=np.random.randint(0,10,size=(5,)),index=['a','b','c','d','e'])
     25 print(data)
     26 
     27 
     28 """
     29 练习1:
     30 
     31 使用多种方法创建以下Series,命名为s1:
     32 语文 150
     33 数学 150
     34 英语 150
     35 理综 300
     36 """
     37 data=Series({"语文":150,"数学":150,"英语":150,"理综":300})
     38 print(data)
     39 data=Series(data=[150,150,150,300],index=["语文","数学","英语","理综"])
     40 print(data)
     41 data=Series(data=[150,150,150,300])
     42 data.index=["语文","数学","英语","理综"]
     43 print(data)
     44 
     45 #从前或从后读取,默认5行
     46 df=pd.read_excel("test.xls")
     47 print(df.head())
     48 print(df.head(2))
     49 print(df.tail())
     50 print(df.tail(2))
     51 
     52 
     53 #去重
     54 s=Series(data=[1,3,5,6,7,6,7])
     55 print(s)
     56 print(s.unique())
     57 
     58 
     59 #series相加操作(与NaN数学运算还是NaN)
     60 s1=Series(data=[1,3,5,6],index=['a','b','c','d'])
     61 s2=Series(data=[2,3,5,6],index=['a','b','e','d'])
     62 print(s1+s2)
     63 
     64 
     65 #检测数据是否缺失
     66 s3=s1+s2
     67 print(s3.isnull())
     68 print(s3.notnull())
     69 
     70 
     71 
     72 #bool值当索引,只去为真的数据
     73 print(s3[[True,True,False,True,False]])
     74 
     75 
     76 
     77 
     78 #DataFrame二维数组:行索引index,列索引columns,值values
     79 
     80 #不指定索引
     81 data=DataFrame(np.random.randint(0,10,size=(3,4)))
     82 print(data)
     83 #指定行索引
     84 data=DataFrame(np.random.randint(0,10,size=(3,4)),index=['a','b','c'])
     85 print(data)
     86 #指定列索引
     87 data=DataFrame(np.random.randint(0,10,size=(3,4)),columns=['A','B','C','D'])
     88 print(data)
     89 #指定行、列索引
     90 data=DataFrame(np.random.randint(0,10,size=(3,4)),index=['a','b','c'],columns=['A','B','C','D'])
     91 print(data)
     92 
     93 
     94 #获取二维数组的值
     95 print(data.values)
     96 
     97 #获取二维数组的行索引
     98 print(data.index)
     99 
    100 #获取二位数组的列索引
    101 print(data.columns)
    102 
    103 #获取二维数组的形状
    104 print(data.shape)
    105 
    106 #获取二维数组的大小
    107 print(data.size)
    108 
    109 """
    110 练习4:
    111 
    112 根据以下考试成绩表,创建一个DataFrame,命名为df:
    113 
    114     张三  李四  
    115 语文 150  0
    116 数学 150  0
    117 英语 150  0
    118 理综 300  0
    119 """
    120 
    121 df=DataFrame(data={"张三":[150,150,150,300],"李四":[0,0,0,0]},index=["语文","数学","英语","理综"])
    122 print(df)
    123 
    124 #索引切片
    125 data=DataFrame(np.random.randint(0,10,size=(3,4)),index=['A','B','C'],columns=['a','b','c','d'])
    126 print(data)
    127 
    128 #修改列索引
    129 data.columns=['b','c','d','e']
    130 print(data)
    131 
    132 #修改行索引
    133 data.index=['A','B','E']
    134 print(data)
    135 
    136 
    137 #获取某一列
    138 print(data['d'])
    139 #获取前两列
    140 print(data[['b','c']])
    141 
    142 
    143 #获取行
    144 print(data.iloc[0])#iloc整数索引获取行
    145 print(data.loc['A'])#loc显式索引获取行
    146 print(data.loc[['A','B']])#loc显式索引获取多行
    147 
    148 #获取指定行列
    149 print(data.iloc[1,2])#获取第2行第3列
    150 print(data.iloc[[0,1],2])#获取第1行和第2行的第3列
    151 
    152 #切片
    153 
    154 #行切片
    155 print(data[:1])#切片取第1行
    156 print(data.iloc[:,0:1])#切片取所有行第1列
  • 相关阅读:
    C#基础之事件
    C#中IQueryable和IEnumerable的区别(2)
    读取不到appsettings.json的值
    【PHP】 延时跳转
    【canvas】 绘制七巧板
    小程序项目编译失败问提解决
    windows下安装node.js
    deskgenius分区失败,分区消失,解决的过程
    IOS:重写UISlider大小解决UISlider滑动不灵敏的问题
    IOS:reason: 'invalid nib registered for identifier (PhotoCellID)
  • 原文地址:https://www.cnblogs.com/open-yang/p/11349111.html
Copyright © 2020-2023  润新知