Python40 深度学习常用库padas库(series和DataFrame两种数据类型)

文章目录

      • 一、Serise数据类型
      • 二、DataFrame数据类型

padas库
提供高性能易用数据类型和工具
pandas基于numpy实现 常与numpy和matplotlib一同使用
官网:www.padas.cn
padas的核心数据结构是series
1、series的数据结构为键值对的形式,键可以重复
2、DataFrame数据结构可以进行行索引、列索引 类似一个表格 根据index找一行的数据

一、Serise数据类型

"""
Serise是一种类似于一维数组的对象,它由一维数组以及一组与之相关的数据标签(索引)组成
可以理解为是带标签的一维数组,可以存储整数、浮点数、字符串、Python对象等类型的数据
"""
import pandas as pd
import numpy as np
s1=pd.Series(["a","b","c","d","e"])
print(s1)
"""
Series可以使用index设置索引列表
与字典不同 Series允许索引重复
"""
s2=pd.Series(["a","b","c","d","e"],index=[100,100,200,300,400])
print(s2)
"""
Series可以用字典实例化
"""
d={1:"a",2:"b",3:"c"}
s3=pd.Series(d)
print(s2)
print(s2.values)
print(s2.index)
# Series可以通过索引直接取值 可以取单个或一组值
print(s3[3])
print(s3[[3,2]])

# Series的计算
# 对应元素求和
print(s3+s3)
# 对应元素相乘
print(s3*3)
# Series最重要的功能:在算术运算中自动对齐不同索引的数据
# Series和多维数组的主要区别是 可以自动基于标签对齐数据,不用顾及计算操作的Series是否有相同的标签
obj1=pd.Series({"Ohio":35000,"Oregon":16000,"Texas":71000,"Utah":5000})
print(obj1)
obj2=pd.Series({"California":np.nan,"Ohio":35000,"Oregon":16000,"Texas":71000})
print(obj2)
print(obj1+obj2) # 取得是并集 相同索引的求和

二、DataFrame数据类型

"""
DataFrame
是一个表格类型的数据结构,类似Excel或sql表
含有一组有序的序列,每列可以是不同的值类型(数组、字符串、布尔值等)
DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)
"""
# 用多维数组、列表字典生成DataFrame
import pandas as pd

data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],'year':[2000,2001,2002,2001,2001],
      'pop':[1.5,1.7,3.6,2.4,2.9]}
frame=pd.DataFrame(data)
print(frame)

# 如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1=pd.DataFrame(data,columns=['year','state','pop'])
print(frame1)
# 如果columns多了一个 那就是 NaN
frame2=pd.DataFrame(data,columns=['year','state','pop','dept'],index=['one','two','three','four','five'])
print(frame2)
# 对某一列进行赋值
frame2['dept']=16
print(frame2)
import numpy as np
frame2['dept']=np.arange(5.)
print(frame2)

你可能感兴趣的:(python,深度学习,python,numpy)