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列
原文地址:https://www.cnblogs.com/open-yang/p/11349111.html