Python数据分析之pandas基础
2017-07-26 21:11
357 查看
1、Series的创建
序列的创建主要有三种方式:
1)通过一维数组创建序列
import numpy as np, pandas as pd arr1 = np.arange(10) arr1 type(arr1) s1 = pd.Series(arr1) s1 type(s1)
2)通过字典的方式创建序列
dic1 = {'a':10,'b':20,'c':30,'d':40,'e':50} dic1 type(dic1) s2 = pd.Series(dic1) s2 type(s2)
3)通过DataFrame中的某一行或某一列创建序列
这部分内容我们放在后面讲,因为下面就开始将DataFrame的创建。2、DataFrame的创建
数据框的创建主要有三种方式:
数据框的创建主要有三种方式:
arr2 = np.array(np.arange(12)).reshape(4,3) arr2 type(arr2) df1 = pd.DataFrame(arr2) df1 type(df1)
2)通过字典的方式创建数据框
以下以两种字典来创建数据框,一个是字典列表,一个是嵌套字典。dic2 = {'a':[1,2,3,4],'b':[5,6,7,8], 'c':[9,10,11,12],'d':[13,14,15,16]} dic2 type(dic2) df2 = pd.DataFrame(dic2) df2 type(df2)
dic3 = {'one':{'a':1,'b':2,'c':3,'d':4}, 'two':{'a':5,'b':6,'c':7,'d':8}, 'three':{'a':9,'b':10,'c':11,'d':12}} dic3 type(dic3) df3 = pd.DataFrame(dic3) df3 type(df3)
3)通过数据框的方式创建数据框
df4 = df3[['one','three']] df4 type(df4) s3 = df3['one'] s3 type(s3)
2、数据索引index
细致的朋友可能会发现一个现象,不论是序列也好,还是数据框也好,对象的最左边总有一个非原始数据对象,这个是什么呢?不错,就是我们接下来要介绍的索引。在我看来,序列或数据框的索引有两大用处,一个是通过索引值或索引标签获取目标数据,另一个是通过索引,可以使序列或数据框的计算、操作实现自动化对齐,下面我们就来看看这两个功能的应用。
1、通过索引值或索引标签获取数据
s4 = pd.Series(np.array([1,1,2,3,5,8])) s4
如果不给序列一个指定的索引值,则序列自动生成一个从0开始的自增索引。可以通过index查看序列的索引:
s4.index
现在我们为序列设定一个自定义的索引值:
s4.index = ['a','b','c','d','e','f'] s4
序列有了索引,就可以通过索引值或索引标签进行数据的获取:
s4[3] s4['e'] s4[[1,3,5]] s4[['a','b','d','f']] s4[:4] s4['c':] s4['b':'e']
2、自动化对齐
如果有两个序列,需要对这两个序列进行算术运算,这时索引的存在就体现的它的价值了—自动化对齐。s5 = pd.Series(np.array([10,15,20,30,55,80]), index = ['a','b','c','d','e','f']) s5 s6 = pd.Series(np.array([12,11,13,15,14,16]), index = ['a','c','g','b','d','f']) s6 s5 + s6 s5/s6
由于s5中没有对应的g索引,s6中没有对应的e索引,所以数据的运算会产生两个缺失值NaN。注意,这里的算术结果就实现了两个序列索引的自动对齐,而非简单的将两个序列加总或相除。对于数据框的对齐,不仅仅是行索引的自动对齐,同时也会自动对齐列索引(变量名)数据框中同样有索引,而且数据框是二维数组的推广,所以其不仅有行索引,而且还存在列索引
相关文章推荐
- 利用Python进行数据分析(14) pandas基础: 数据转换
- Python 数据分析包:pandas 基础
- 利用Python进行数据分析(15) pandas基础: 字符串操作
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主
- 利用Python进行数据分析(12) pandas基础: 数据合并
- 利用Python进行数据分析(11) pandas基础: 层次化索引
- Python数据分析入门之pandas基础总结
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- Python 数据分析包:pandas 基础
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
- 利用Python进行数据分析(13) pandas基础: 数据重塑/轴向旋转
- Python 数据分析包:pandas 基础
- 利用Python进行数据分析(9) pandas基础: 汇总统计和计算
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- 利用Python进行数据分析(14) pandas基础: 数据转换
- Python 数据分析包:pandas 基础
- 利用Python进行数据分析(13) pandas基础: 数据重塑/轴向旋转
- Python 数据分析包:pandas 基础
- 利用Python进行数据分析 pandas基础: 处理缺失数据