#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 4/14/18 11:17 AM # @Author : Aries # @Site : # @File : main.py # @Software: PyCharm ''' 以下内容参考: 参考: https://www.cnblogs.com/misswangxing/p/7903595.html pandas入门: 1 基础知识 pandas: 含义:python数据分析库是基于NumPy的工具。 缩写:panel data,data analysis 特点: 1引入标准数据模型,提供处理数据的方法 2为时间序列分析提供很好的支持 数据结构: Series:一位数组,和Numpy中的一维array类似,与List类似 区别:List中元素可以是不同数据类型, Array和Series只允许存储相同数据类型 Time-Series:以时间为索引的Series DataFrame:二维表格数据结构,是Series的的容器 Panel:三维数组,DataFrame容器 Pandas定义的数据类型:Series和DataFrame 安装: pip install pandas 2 Pandas使用 3 Series Series同列表一样,一些列数据,每个数据对应一个索引值. Series是竖起来的list 实质上创建了一个Series对象 属性显示了Series的索引和数据值 默认的Series索引实际上就是整数 Series可以自定义索引(此时可以认为是一个字典) 有索引的作用: 根据索引操作元素 定义Series的三种形式: 1 列表形式,例如 s = Series([1, 4, 'www', 'tt']) 2 列表+索引形式,例如 s2 = Series(['chao', 'man', '29'], index=['name', 'sex', 'age']) 3 字典形式 s4 = Series({'score':329, 'age':29}) 自定义索引: 自定的索引会寻找原来的索引,如果一样的就用原来的值代替 没有值:对齐赋给NaN 判断是否为空: pandas.isnull(s4) s4.isnull() 索引赋值: s4.index=['语文', '数学', 'English'] 寻找series中过滤条件后的元素 result = s4[s4 > 300] 4 DataFrame 含义:二维的数据结构,类似电子表格和mysql数据库形式 竖行:称为columns 横行:和Series一样,称为index 通过columns和index确定主句的位置 定义: 定义一个DataFrame对象的方法,使用dict 字典的键:name, marks, price是每一个维度的名称,就是columns的名称 键的值:是列表,这里没有设定索引,是走默认索引 columns跟字典键相比,其顺序可以被规定 也就是列名的顺序可以转换 DataFrame的索引也能够自定义 例子: data = {"name":['google', 'baidu', 'yahoo'], "marks":[100,200,300], "price":[1,2,3]} f1 = DataFrame(data) f3 = DataFrame(data, columns=['name', 'marks', 'price'], index=['a', 'b', 'c']) 字典嵌套字典定义 另外一篇可以参考的文章: https://blog.csdn.net/qq_16234613/article/details/62046057 官网: http://pandas.pydata.org/ Time series-functionality: date range generation and frequency conversion, moving window statistics, moving window linear regressions, date shifting and lagging. Even create domain-specific time offsets and join time series without losing data; ''' from pandas import Series from pandas import DataFrame import pandas as pd def process(): s = Series([1, 4, 'www', 'tt']) print s print s.index print s.values s2 = Series(['chao', 'man', '29'], index=['name', 'sex', 'age']) print s2 print s2['name'] s2['name'] = 'chen' print s2 sd = {'score':329, 'age':29} s3 = Series(sd) print s3 s33 = Series({'score':329, 'age':29}) print s33 s4 = Series(sd, index=['java', 'score', 'age']) print s4 print pd.isnull(s4) print s4.isnull() s4.index = ['语文', '数学', 'English'] print s4 s44 = s4 * 2 print s44 result = s4[s4 > 300] print result print type(result) def processDataFrame(): data = {"name":['google', 'baidu', 'yahoo'], "marks":[100,200,300], "price":[1,2,3]} f1 = DataFrame(data) print f1 f2 = DataFrame(data, columns=['name', 'price', 'marks']) print f2 f3 = DataFrame(data, columns=['name', 'marks', 'price'], index=['a', 'b', 'c']) print f3 print f3['name'] newData = {"lang":{'first':'python', 'second':'java'}, 'price':{'first':5000, 'second':2000}} f4 = DataFrame(newData) print f4 if __name__ == "__main__": # process() processDataFrame()
Pandas: 1、基础知识
猜你喜欢
转载自blog.csdn.net/qingyuanluofeng/article/details/79942208
今日推荐
周排行