基本内容

Series:

  • Series 是有一组数据(numpy的数据类型 numpy.ndarray)以及一组数据标签(即索引)组成,可以看成一个一个定长的有序字典(索引值到数据值的一个映射)

obj = Series([4, 7, -5, 3])
print(type(obj))
print(type(obj.values))
obj.values

<class 'pandas.core.series.Series'>
<class 'numpy.ndarray'>

array([ 4,  7, -5,  3], dtype=int64)

  • 创建:

    • 通过序列 + index,index 默认为自然数
obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
obj2.values.tolist()
    • 通过字典
obj2 = Series({'d': 4, 'b': 7, 'a': -5, 'c': 3})
obj2.to_dict()

DataFrame

  • 介绍:

    • 表型数据结构,可以看做有多个拥有同一索引的Series构成的字典
  • 创建:
    • 通过字典(平铺) + index + columns :
data = {
'state': ['a', 'a', 'a', 'b', 'b'],
'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]
}
df = DataFrame(data=data)
print("df=", df)

注: index, columns 均为list, 如果没有给定,则为默认, index 默认为自然数,columns 默认为按照它排序

    • 通过嵌套字典:
data = {
'state': {0: 'a', 1: 'a', 2: 'a', 3: 'b', 4: 'b'},
'year': {0: 2000, 1: 2001, 2: 2002, 3: 2001, 4: 2002},
'pop': {0: 1.5, 1: 1.7, 2: 3.6, 3: 2.4, 4: 2.9}
}
df = DataFrame(data=data)
print("df=", df)

state year pop
a a 2000 1.5
b a 2001 1.7
c a 2002 3.6
d b 2001 2.4
e b 2002 2.9

    • 二维 ndarray, 数组、列表,元组,可以加入行,列label
data3 = [['a', 2000, 1.5],
['a', 2001, 1.7],
['a', 2002, 3.6],
['b', 2001, 2.4],
['b', 2002, 2.9]]
  • 列(特征访问),默认的访问对象, 结果为一个Series:

    • 通过属性的方式: df.state
    • 通过字典的方式: df["state"]
  • 行访问,通过访问索引,结果为一个Series:
    • ix:被下面2个代替
    • loc : 访问的索引值,即行值 index label
    • iloc : 访问的索引行,即行号,index position
  • 索引的重置:
    • reindex(列表a, method="ffill"):按照a进行重新排列样本数据,源索引不存在,样本添加缺少值, method 缺失值的填充方式
    • set_index(n) : 参数为字符串(列)或者列的序列,集合。函数会将一个或多个列转换为行索引,并创建新的DataFrame
    • reset_index() :  以当前顺序删除旧的索引,重新生成新索引(自然数)

pandas 初识(一)的更多相关文章

  1. pandas初识

    pandas初识 1.生成DataFrame型的数据 import pandas as pd import numpy as np dates = pd.date_range('20130101',p ...

  2. pandas 初识(四)

    Pandas 和 sqlalchemy 配合实现分页查询 Mysql 并获取总条数 @api.route('/show', methods=["POST"]) def api_sh ...

  3. pandas 初识(三)

    Python Pandas 空值 pandas 判断指定列是否(全部)为NaN(空值) import pandas as pd import numpy as np df = pd.DataFrame ...

  4. pandas 初识(二)

    基本统计 pivot_table(数据透视表 ): 使用appfunc, 按不同index分类统计各特征values的值 df.pivot_table(index="Pclass" ...

  5. pandas 初识(六)-可视化

    Pandas 在一张图中绘制多条线 import pandas as pd import numpy as npimport matplotlib.pyplot as plt df = pd.Data ...

  6. pandas 初识(五)

    1. 如何实现把一个属性(列)拆分成多列,产生pivot,形成向量信息,计算相关性? 例: class_ timestamp count 0 10 2019-01-20 13:23:00 1 1 10 ...

  7. numpy最后一部分及pandas初识

    今日内容概要 numpy剩余的知识点 pandas模块 今日内容详细 二元函数 加 add 减 sub 乘 mul 除 div 平方 power 数学统计方法 sum 求和 cumsum 累计求和 m ...

  8. 日常记录-Pandas Cookbook

    Cookbook 1.更新内容 2.关于安装 3.Pandas使用注意事项 4.包环境 5.10分钟Pandas初识 6.教程 7.Cookbook 8.数据结构简介 9.基本功能 10.使用文本数据 ...

  9. Pandas学习整理与实践

    Part 1. Pandas初识 作为一款数据处理工具,Pandas本身集成了Numpy(数据计算处理)及matplotlib(绘图),其便捷的数据处理能力.方便的文件读写以及支持多维度的表示方式使其 ...

随机推荐

  1. 【转】Nginx学习---Nginx&&Redis&&hcache三层缓存架构总结

    [原文]https://www.toutiao.com/i6594307974817120782/ 摘要: 对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现,n ...

  2. elasticsearch报错之 memory locking requested for elasticsearch process but memory is not locked

    安装elasticsearch报错如下: [2019-01-14T03:57:16,453][ERROR][o.e.b.Bootstrap ] [ip-172-31-30-62.ec2.interna ...

  3. DFS服务待书写

    https://www.cnblogs.com/xfan1982/p/4120583.html 安装AD域控制 https://www.cnblogs.com/wanggege/p/4605678.h ...

  4. [Android自动化] 在 pip-9.0.1 版本情况下安装 uiautomator2 报错的解决办法

    1.在命令窗口中使用命令: pip install uiautomator2 时报 pip 版本过低,需要先升级 pip 版本,理论上会按照提示进行升级 pip 操作,但执行升级命令时到最后却还是报错 ...

  5. VS2013自带报表+打印功能

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u010773667/article/details/27540389 经过了VB版机房收费系统的学习 ...

  6. 【洛谷】【前缀和+st表】P2629 好消息,坏消息

    [题目描述:] uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一 ...

  7. AddHandler php5-script .php\AddType text/html .php和AddType application/x-httpd-php .php的区别?

    让apache支持php文件的解释,有2种方法配置,RPM装的默认配置是:AddHandler php5-script .phpAddType text/html .php网上很多人的配置方法是:Ad ...

  8. 分析占用了大量CPU处理时间的java进程中的进程

    分析占用了大量 CPU 处理时间的是Java 进程中哪个线程 下面是详细步骤: 1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看 2. 查看该进程中哪个线程占用大量 C ...

  9. WorldWind源码剖析系列:二维点类Point2d和三维点类Point3d

    PluginSDK中的点主要有二维和三维两种类型,分别用来描述平面和立体点.其类图如下. 这两个类比较简单.其字段成员主要用来描述点对象在各坐标轴上的分量. 属性Length用来返回二维和三维点的距离 ...

  10. Html5多媒体相关的API---video

    Html5多媒体相关的API---video 在HTML5中,新增了两个元素---video元素与audio元素,其中video元素专门用来播放网络上的视频或电影,而audio元素专门用来播放网络上的 ...