python pandas学习

#Pandas数据科学中常用的库之一,是基于NumPy构建的数据分析工具。如果把Numpy当作是list,那么Pandas就相当于是dict
#Pandas包括两种数据类型Series和DataFrame
import pandas  as pd #导入pandas函数
import numpy as np
s=pd.Series([1,3,5,7])#生成一个Series
s1=pd.Series({"a":12,"b":23})#也可直接指定索引
#print(s1["a"])#通过索引查看value值,也可以直接通过s1[1]来查找
#print(s1[["a","b"]])#字典不能直接索引两个出来,但是Series可以
df=pd.DataFrame(np.arange(30).reshape(5,6))#生成一个DataFrame
IPO={'region':['guangdong','zhejiang','beijing','shanghai','chongqing'],'number':[98,6,65,87,5],'market':['A股','港股','A股','A股','港股']}
df1=pd.DataFrame(IPO)#因为类似字典,所以也是无序的,所以可以指定排列顺序  df=pd.DataFrame(IPO,columns=['region','number','market']是列索引名,也可以指定行索引名index
df1.index=['a','c','d','e','b']#修改行索引名,注意这是修改
df1.columns=['Region','Number','Market']#修改列索引
df1['Rank']='top5'#增加新的一列
print(df1.drop('Rank',axis=1))#删除列(注意没有修改df1真实内容,如果df1.drip('Rank',axis=1),在打印df1可以看出,df1没有变化就是这种情况)
print(df1.Number)#查看某一列的值
#DataFrame数据选取#列选取,lic/iloc方法 布尔型索引
print(df1[['Number']])#可以看出,与df.Number有相似的效果,丹斯df.Number在下面可以看到类名,且包括了数据类型
print('*'*50)
print(df1[1:3])#可以切片
print(df1.loc[['a','c']])#通过loc选出index中为a,c的行,loc可以用索引别名,但是iloc只能用原来索引值
print(df1.iloc[1:3])#可以看出效果和df1[1:3]效果一样,只不过是另一种表达方式
print(df1.loc[['a','c','b'],['Market']])#选出行列,注意是loc[[indg],[column]],注意如果是全部index/columns可以用:代替[index]
print(df1.iloc[[1,2],[0,3]])#上面的另一种写法
a='*'
print(a.ljust(50,'*'))
print(df1[df1.Region=='beijing'])#返回的布尔型真假,然后输出为真的数据
print(df1.loc[df1.Region=='beijing'])#另一种表达方式
print('-'.ljust(30,'-'))
df3=pd.read_csv(r"D:\download\iris.csv")#read_csv()函数把csv文件读入到df变量中
print(df3.head())#head()函数打印前5行,同样tail()打印后5行
print(df3.info())#打印每一列的属性,包括总数,类型,以及文件大小
print(df3.shape)#查看为多少行多少列
print(df3.species.unique())#筛选species的惟一值
print(df3.species.value_counts())#统计品种的数量
print(df3[df3.species=='versicolor'].tail())#方法1,筛选品种为versicolor的全部数据
print(df3.loc[df3.species=='versicolor'].head())#方法2



猜你喜欢

转载自blog.csdn.net/qq_37181884/article/details/81294019