实训笔记20190805--pandas

这篇博客详细介绍了Pandas中的Series和DataFrame数据结构。Series是一种一维数组,包含数据和相关索引,而DataFrame是二维表格数据结构。文章讨论了Series的创建、值的获取、运算、缺省值检测、自动对齐及其name属性。同时,讲解了DataFrame的创建、索引对象的使用,以及如何进行数据的增删改查操作。还提到了Pandas中处理缺失值的方法以及与NumPy的交互。
摘要由CSDN通过智能技术生成


pandas中主要有两种数据结构,分别是:Series和DataFrame。

series

  1. Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。
  2. DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典
    结论:DataFrame是一个多维数组,
import pandas as pd
import numpy as np
#企业命名规范
ser01=pd.Series([1,2,3,4,5])
print('series数据的值:',ser01.values)
print('series的索引值:',ser01.index)
print('series的数据类型:',ser01.dtype)
#series的数据类型完全遵守numpy的数据类型
print(ser01)

#利用series创建一个二位数组
ser02=pd.Series(np.array([[1,2,3,4],[1,2,3]]))
#表示的是将numpy里面的array创建多维数组的方法,嵌套到series里面,用于创建多个维度数
print('series数据的值:',ser02.values)
print('series的索引值:',ser02.index)
print('series的数据类型:',ser02.dtype)
print(ser02)

#为索引index创建一个名称
ser03=pd.Series([100,99,92,69])
ser03.index=[u'数学',u'语文',u'化学',u'英语']
#u表示的是一个标识符关键字和索引位置是一样的
print(ser03)

#企业的另一种写法:
ser04=pd.Series(data=[100,54,67,78],dtype=np.float,index=['数学','语文','化学','英语'])
print(ser04)

ser05=pd.Series([[1,2,3],[3,4,5]])
print(ser05)

#通过字典创建一个series多维数组
dict01=({
   '1001':'milong','1002':'ruohao','1003':'yuanyuan','1004':'taotao','1005':'kaikai'})
ser06=pd.Series(dict01)
print(ser06)
print('通过dict创建的类型:',ser06.values)#暗含通过key值,只打印值,不打印key,打印key不安全
print('通过dict创建的类型:',ser06.index)#通过字典创建的index,其实就是key
series数据的值: [1 2 3 4 5]
series的索引值: RangeIndex(start=0, stop=5, step=1)
series的数据类型: int64
0    1
1    2
2    3
3    4
4    5
dtype: int64

series数据的值: [list([1, 2, 3, 4]) list([1, 2, 3])]
series的索引值: RangeIndex(start=0, stop=2, step=1)
series的数据类型: object
0    [1, 2, 3, 4]
1       [1, 2, 3]
dtype: object

数学    100
语文     99
化学     92
英语     69
dtype: int64

数学    100.0
语文     54.0
化学     67.0
英语     78.0
dtype: float64

0    [1, 2, 3]
1    [3, 4, 5]
dtype: object

1001      milong
1002      ruohao
1003    yuanyuan
1004      taotao
1005      kaikai
dtype: object

结果:Series通过下标index可以获取值,并且Series是创建一个一维数组

  1. 在pandas里面下标,索引一般叫做数据标签(数据标签是我们在AI,Python数据分析,大数据,数据挖掘里面获取数据集的核心标签)
    数据标签不分数据的大小,1行数据也可以通过数据标签获取,海量数据也可以通过数据标签获取—企业大量使用
  2. 因为series只能创建一维数组,如果想创建二维数组,那么就必须导入numpy模块.利用np.array(多维数组)—形成维度空间(矩阵)
  3. ser03,index=[u’数学’,u’语文’,u’化学’,u’英语’]此写法不写index,直接给index赋列值
  4. ser04=pd.Series(data=[100,54,67,78],dtype=np.float,index=[‘数学’,‘语文’,‘化学’,‘英语’])
    ser04里面有4个参数,data是数据,dtype=是根据项目数据要求定制数据类型,因为series默认的是整型index直接赋值
    备注:不建议data和index分开来写,建议第四种写法

Series值的获取<

python-pandas的一些小练习——东北大学大数据班数据挖掘实训Python基础二(2) 实训练习:练习使用pandas 包中的dataframe和方法。 1将数据读取为dataframe类型,命名为df 2查看数据的形状[了解数据有多少行、多少列] 3查看数据的最开始的7条数据和尾部的3条数据 4查看数据的各字段的类型 5查看数据是否有缺失值 6如果有缺失值,进行补0操作 7从df中按字段取出‘ date’’dist’和‘ flight’形成新的df1 8从df中按位置选取行为3和4,列为0,1的数据形成新的df2 9在df中添加一列‘ low_dest’,内容是‘ dest’这列的字符串的小写形式 10从df中选取‘ dist’大于1000并且小于1200的数据作为一个新的df3 11从df中选取‘ time’大于100的数据做为新的df4 12将df3和df4合并为一个dataframe,命名为df5 13取出df3中的‘ time’,‘dist’ 这两列做为df6, 求出df6中每列中最大值与最小值的差值(运用lambda函数的方式进行求解 ) 14将df根据“ dest”分组,统计各目的地,都有多少条数据,命名为“ dest_count”,然后将“ dest”和“ dest_count”组成新的dataframe命名为df7 15根据dep_delay不为0,统计df中有多少次航班起飞延误 16利用plane字段,统计df中不同航班的飞行次数,以plane和plane_cout格式保存为df8 17利用carrier字段,计算df中carrier字段不同属性数据的数据量的比值(如:XE的数据量与MQ的数据量的比值) 18分别将df7和 df8保存到本地文件,文件名分别为df7.csv和df8.csv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值