Python Pandas常用数据结构Series和DataFrame的相关操作
2017-09-09 19:29
1046 查看
Pandas是基于Numpy构建的,包含多种高级数据结构和工具的数据分析包。Pandas中常用的数据结构有Series和DataFrame。其中Series是一维数组,DataFrame是二维的表格型数据结构。可以认为DataFrame是多个Series的集合。
结果:
(1) 由字典定义;
(2) 由Series定义的DataFrame会沿用Series的索引,行号等属性
结果:
对pandas提供的DataFrame数据结构进行操作,总让我有一种在使用Matlab的感觉,简单方便,可以通过切片,获取到任意想获取的片段。
结果:
增加新列后的df:
后续接着整理一下数据处理中的空值处理、DataFrame的合并和轴向连接等等操作。
再然后就开始机器学习sklearn的学习啦!
1. 定义
1.1 Series定义
先从Series的操作说起,首先是定义,可以通过列表来生成Series。每个Series都包含value值和index索引。不指定index时,系统默认索引为从0开始的自然数序列。import pandas as pd s = pd.Series([1,2,3],index =['a','b','c'])
结果:
>>> s a 1 b 2 c 3 dtype: int64
1.2 DataFrame的定义
DataFrame的定义包含两种方式(1) 由字典定义;
(2) 由Series定义的DataFrame会沿用Series的索引,行号等属性
# 由字典定义 data = {'a': [1, 2, 3], 'b': [2, 3, 4], 'c': [3, 4, 5]} df = pd.DataFrame(data, index=['row1', 'row2', 'row3']) # 由Series定义 df2 = pd.DataFrame([s,s],index=['row1', 'row2'])
结果:
>>> df a b c row1 1 2 3 row2 2 3 4 row3 3 4 5 >>> df2 a b c row1 1 2 3 row2 1 2 3
2.DataFrame的操作
我个人使用DataFrame数据结构比较多,对此作了一个总结。对pandas提供的DataFrame数据结构进行操作,总让我有一种在使用Matlab的感觉,简单方便,可以通过切片,获取到任意想获取的片段。
2.1 数据切片操作
以1.2 DataFrame定义中的 df 为例,行列编号均从0开始。df['a'] # 获取列名为‘a’的列,取出来类型为Series df.ix['row1'] # 获取索引为‘row1’的行,取出来为Series df.iloc[1,1] # 获取行列号为(1,1)的元素 df.iloc[0:2, 1] # 获取第0~1行,第1列的元素 df[df.a > 1][df.b > 3] # 获取df的‘a’列大于1且‘b’列大于3的元素
结果:
*********df['a']取列'a'************* row1 1 row2 2 row3 3 Name: a, dtype: int64 *******df.ix['row1']取行'row1'****** a 1 b 2 c 3 Name: row1, dtype: int64 *********df.iloc[1, 1]************* 3 *********df.iloc[0:2, 1]*********** row1 2 row2 3 Name: b, dtype: int64 *******df[df.a > 1][df.b > 3]****** a b c row3 3 4 5
2.2 增加新列
可以通过多种方式为df增加新列df['NewColumn'] = [1,2,3] df['Num']= 1 #增加‘Num’列,值全为1 df['NullColumn'] = pd.Series('',index = df.index) #定义列,赋空值
增加新列后的df:
a b c NewColumn Num NullColumn row1 1 2 3 1 1 row2 2 3 4 2 1 row3 3 4 5 3 1
后续接着整理一下数据处理中的空值处理、DataFrame的合并和轴向连接等等操作。
再然后就开始机器学习sklearn的学习啦!
相关文章推荐
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
- python pandas中series与dataframe数据类型属性及操作基础
- python-pandas-Series和DataFrame数据结构构建
- python:pandas模块中的DataFrame结构及常用操作
- #######用python做数据分析4|pandas库介绍之DataFrame基本操作#######
- 数据结构之--series,DataFrame.use python and pandas for data mining
- python之pandas的基本使用-series和dataframe(1)
- python的pandas中DataFrame 基础,创建DataFrame和增删改查基本操作(1)
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
- python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python 30760 python pandas dataframe
- Python pandas模块之Dataframe操作汇集
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(读写数据库的操作)
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- 用python做数据分析4|pandas库介绍之DataFrame基本操作 by 是蓝先生
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- machine learning in coding(python):pandas数据包DataFrame数据结构简介
- Python pandas DataFrame操作
- 用python做数据分析4|pandas库介绍之DataFrame基本操作