一、Pandas 数据结构
Series :⽤列表⽣成
Series
时,
Pandas
默认⾃动⽣成整数索引,也可以指定索引
s1 = pd.Series(data = l) # pandas⾃动添加索引
s2 = pd.Series(data = l,index = list('abcdefhi'),dtype='float32') # 指定⾏索引
# 传⼊字典创建,key⾏索引
s3 = pd.Series(data = {'a':99,'b':137,'c':149},name = 'Python_score')
display(s1,s2,s3)
Series是一维的,DataFrame是二维的,多个Series公用索引,组成了DataFrame
# index 作为⾏索引,字典中的key作为列索引,创建了3*3的DataFrame表格⼆维数组
df1 = pd.DataFrame(data = {'Python':[99,107,122],'Math':[111,137,88],'En': [68,108,43]},# key作为列索引
index = ['张三','李四','Michael']) # ⾏索引
df2 = pd.DataFrame(data = np.random.randint(0,151,size = (5,3)),
index = ['Danial','Brandon','softpo','Ella','Cindy'],# ⾏索引
columns=['Python','Math','En'])# 列索引
columns=['Python','Math','En'],dtype=np.float16) # 列索引
二、数据查看
df.shape # 查看Data wFrame形状
df.head(n = 3) # 显示前N个,默认N = 5
df.tail() # 显示后n个
df.dtypes # 数据类型
df.info() # 比较详细信息
df.describe() # 描述:平均值、标准差、中位数、四等分、最大值,最小值
df.values # 值,返回的是NumPy数组
df.columns # 列索引
df.index # 行索引 0 ~ 99
三、数据输入与输出
1.csv
# 保存到当前路径下,⽂件命名是:salary.csv。csv逗号分割值⽂件格式
df.to_csv('./salary.csv',
sep = ';', # ⽂本分隔符,默认是逗号
header = True,# 是否保存列索引
index = True) # 是否保存⾏索引,保存⾏索引,⽂件被加载时,默认⾏索引会作为⼀列
# 加载
pd.read_csv('./salary.csv',
sep = ';',# 默认是逗号
header = [0],#指定列索引
index_col=0) # 指定⾏索引
pd.read_table('./salary.csv', # 和read_csv类似,读取限定分隔符的⽂本⽂件
sep = ';',
header = [0],#指定列索引
index_col=1) # 指定⾏索引,IT作为⾏索引
2、Excel
df.to_excel('./data.xls')
pd.read_excel('./data.xls',
index_col=0) # 第一列作为行索引
3、HDF5
HDF5
,可以存储不同类型数据的⽂件格式,后缀通常是
.h5
,它的结构是
层次性的。
⼀个
HDF5
⽂件可以被看作是⼀个组包含了各类不同的
数据集
。
# 保存到当前路径下,⽂件命名是:data.h5
df1.to_hdf('./data.h5',key='salary') # 保存数据的key,标记
df2.to_hdf('./data.h5',key = 'score')
pd.read_hdf('./data.h5',
key = 'salary')#获取指定的标记、key的数据
4、SQL
from sqlalchemy im