Python之pandas 基础篇
以下语句是在pycharm中进行演示,复制到pycharm中运行可直接查看运行结果
#pandas 的数据结构介绍
#1.Series(由一组数据,各种Numpy数据类型)和一组索引组成:
import pandas as pd
import numpy as np
obj=pd.Series([4,7,-5,3])
print(obj)
#1.1Values和index属性:
print(obj.values)
print(obj.index)
#1.2给所创建的Series带有一个可以对各个数据点进行标记的索引:
obj2=pd.Series([4,7,-5,3],index=["d","b","a","c"])
print(obj2)
#与普通Numpy数组相比,可以通过索引的方式选取Series中的单个或一组数值
print(obj2["a"])
print(obj2[["c","a","d"]])
#可将Series看成时一个定长的有序字典,它是在索引值到数据值的一个映射(它可以用在许多原本需要字典参数的函数中),可通过字典直接创建
print('b'in obj2)
sdate={"ohio":3500,"Texas":7100,"Utah":500}
obj3=pd.Series(sdate)
print(obj3)
sdates=["calnia","ohie","orange"]
obj4=pd.Series(obj3,index=sdates)
print(obj4)
#如果只传入一个字典,则Series中的索引就是原字典中的键,Series最重要的一个功能是在算运算中自动对齐不同索引的数据
print(obj3)
print(obj4)
print(obj3+obj4)
#Series对象本身及其索引都有一name属性
obj4.name="population"
obj4.index.name="state"
print(obj4)
#Series的索引可以通过赋值的方式就地修改:
obj.index=["Bob","Steve","Jeff","Ryya"]
print(obj)
#2.DataFranme 是一个表格型的数据结构,既有行索引也有列索引.DataFrame中面向行和列的操作基本是平衡的。DataFrame的数据是以一个或多个二维快
#存放的,用层次化索引,将其表示为更高维度的数据,构建numpy,直接传入一个由等长列表或Numpy组成的字典
data={"state":["ohio","ohio","nevada","nebada"]}
data={"state":["ohio","ohio","ohio","nevada","nebada"],"year":[2000,2001,2002,2001,2002], "pop":[1.5,1.7,3.6,2.4,2.9]}
print(pd.DataFrame(dwata))
#2.1和Series一样,如果传入的列载数据中找不到,就会产生NA值
frame2=pd.DataFrame(data,columns=["year","state","pop","debt"],
index=["one","two","three","four","five"])
print(frame2)
print(frame2.columns)
#2.2可以通过赋值的方式进行修改
frame2["debt"]=[16.5,12,13,14,12]
print(frame2)
#2.3通过类似字典标记的方式或属性的方式,可以将DataFrame 的列获取为一个Series
print(frame2["state"])
print(frame2.state)
#2.4行也可以通过位置或名称的方式进行获取,比如用索引字段ix,将列表或者数组赋值给某一个列时,其长度必须跟DataFrame的长度相匹配。如果赋值的是一个Series,就会精确匹配Dataframe的索引,所有的空位都将被填上缺失值
val=pd.Series([-1.2,-1.5,-1.7],index=["two","four","five"])
frame2["debt"]=val
print(frame2)
print(frame2.columns)