pandas翻译0305

作者: __XY__ | 来源:发表于2018-03-05 22:58 被阅读0次

首先我们将会介绍一下pandas的基本数据结构。包括数据类型/索引/轴的基本属性和常用操作。首先导入numpy和pandas。

脑海中时刻记着:数据内部默认是对齐的,标签和数据之间的link会一直存在,除非你明确破环了这种link。

我们将会简单介绍一下数据结构。

然后在各自的章节中再仔细介绍各个方法或方法。

### series

series是一维的标签数组,内部可以包含任何数据类型(整形,字符串,浮点型,python的对象等等)这个轴标签被统称为索引。创建一个series的基本方法如下

```

```

data可以是很多种类型:

一个python的字典

一个ndarray

一个标量

传进去的index是一个轴标签的列表。因此,依据data的不同会有下面几种情况

### from ndarry

如果data是ndarray,index的长度必须和ndarray相同,如果没有传入索引,会创建一个【0,。。。Len(data)-1】的一个列表

```

```

```

注意,pandas支持非unique索引的值,如果你试着做了一个不支持重复索引值的操作,系统也会报错。这样的原因是基于性能的考虑(计算当中的很多实例,比如Groupby的部分就没有用到索引)

### from dict

传入的data是一个字典类型,如果传入了index对象,那么字典中对应index的values将被拿出。否则,index默认是字典当中的sorted_keys。

```

```

```

note: NaN 是pandas中通用的缺失值标记

如果data是一个标量,index必须提供,value会根据index的长度自动重复补全。
```

In [10]: pd.Series(5.,index=['a','b','c','d','e'])Out[10]: a    5.0b    5.0c    5.0d    5.0e    5.0dtype: float64

```

### series 是ndarray-like

series的表现跟ndarray特别像,series也是一个对于大多Numpy 方法有效的参数,同时,index也支持分片操作。

```

```

点击这里查看array-based 索引

### series is dict-like

series很像一个固定大小的字典,你可以通过index label去查询和设置值

```

```

如果label没有包含进去,将会报错

```

```

使用get方法,一个缺失的label将会返回none或者规定的默认值

```

```

### 矢量化操作和标签对齐

在数据分析中,像numpy一样,没必要遍历serise的值去进行操作。同时series也可被传入大多需要传入ndarry的方法中

```

```

series 和 ndarray的关键区别在于 series和series直接的操作会自动根据label去对其数据,因此,当你在计算的时候不需要考虑series是否包含相同的label

```

```

非对齐series间的操作结果通常是包含所有index的一个并集,如果一个label在一个serise中没有找到,结果默认标记为Nan。不需要任何的数据对齐说明使得写代码更为自由和弹性。pandas集成的数据对齐的功能也是pandas区别与其他工具的原因。

note:通常我们取index的并集是为了防止信息丢失,及时数据是丢失的,但是有一个index仍然是十分重要的计算信息。当然你可以使用dropna方法去删除labels。

### name 属性

series有一个name属性

```

```

很多情况下series会自动命名,尤其是在你从DF对象中取出一个一维的切片。

通过rename方法可以重命名一个series

```

```

注意s和s2是两个不通的对象。

### DataFrame对象

DF是一个二维的数据结构,他的每一列都可以是不通的数据格式。想象一个电子表格或者一个sql表,或者一个包含series对象的dict。

df是pandas最常用的对象,同series一样,df接受多种类型的输入:

值为一维数组/列表/字典/Series的 一个字典

numpy.ndarry对象

结构化的ndarry

一个series对象

另外一个DF对象

随data一起,可以传入一个可选一个index/columns参数,如果传入了index/columns,产出的df对象一定会和传入的index/columns相同。因此,一个包含Series的dict和index同时传入的时候,默认会删掉所有没匹配到index的值。

axis labes即使没有传,他们也会根据输入的数据的常识规则生成。

### from dict of serise of dicts

生成的df结果的index是不同series的并集,如果包含嵌套的字典,被嵌套的字典首先会被转成Series格式。如果columns没有传的话,columns默认将会是字典key的有序列表。

```

```

查看df的index和columns属性可以看到row和column

笔记:如果传入了columns列表,会覆盖字典的keys

### from dict of ndarrays/lists

用于生成df对象的ndarrays长度必须相同,如果传入了index,也必须明确的与arrays的长度xiang'tong,如果没有传的话,默认会取range(n)

```

```

### From structured or record array

这和数组字典的例子是一样的

```

```

DataFrame并不打算真的像二维Numpy数组那样运行

### from alist of dicts

```

```

### from a dict of tuples

传入一个数组字典可生成一个多重索引结构

### From a serires

如果你是根据一个series对象生成的df,那么df的index/columns会跟series一样

####缺失数据

详细文档见Missing data章节,对于包含缺失数据的df对象的处理,使用np.nan方法。另外,你也可以传入numpy.MakedArray参数到DF的构造函数中,被标记的条目就会认为缺失。

### 其他的构造器

dataframe.from_dict

传入的参数是一个包含字典的字典。或者包含类数组的字典。它的所有操作都跟DataFrame构造器类似,除了orient参数(默认参数是columns)可以设置为index,这样就可以使用字典的key当作row label

dataFrame.from_records

出入的参数为元组列表/有组织的dtype类型。和正常的DF构造器操作起来一样。除了index可以说特殊的类型。举例如下

```

```

### DataFrame.from_items

DF 工作原理和from_dict的构造器一样(传入的参数说key,values的列表,key代表columns,values代表columns values).如果columns想要一个特殊的顺序的话,这将变的很有用,因为不需要在穿入一个columns的列表了。

```

```

如果出入的参数orient=‘index’,字典里面的key将会说row labels.但是在下面这个例子中,你必须传入你想要的columns names

```

```

### Columns selection,addition,deletion

相关文章

  • pandas翻译0305

    首先我们将会介绍一下pandas的基本数据结构。包括数据类型/索引/轴的基本属性和常用操作。首先导入numpy和p...

  • Pandas翻译0311

    语义上DF像一个包含一个(类索引的series对象),getting,setting,and deleteting...

  • Pandas

    本文翻译自文章:Pandas Cheat Sheet - Python for Data Science,同时添加...

  • Pandas V0.23.1函数手册(中文翻译版)

    写了个程序,对Pandas的绝大部分函数及其说明进行了中文翻译。原网址:http://pandas.pydata....

  • 十分钟搞定pandas

    本文是对pandas官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是...

  • pandas文档翻译0226

    使用CI测试 你的pr一旦提交完毕就会自动在在Travis-CI,Appveyour上面运行测试,如果你想在提交之...

  • 精通 Pandas · 翻译完成

    协议:CC BY-NC-SA 4.0欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 在线阅读...

  • Pandas 秘籍·翻译完成

    协议:CC BY-NC-SA 4.0欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 在线阅读...

  • pandas0.24.x文档翻译合集1

    我把近期的pandas翻译合在一起了,可以算是pandas的基础吧。目录:1 0.24.1版本新特性2 安装3马上...

  • pandas - cookbook 第一章 读取数据

    pandas - cookbook 第一章 读取数据 以下内容翻译自 https://github.com/jvn...

网友评论

    本文标题:pandas翻译0305

    本文链接:https://www.haomeiwen.com/subject/jcvkfftx.html