Python:Pandas学习

  1 import pandas as pd
  2 import numpy as np
  3 s = pd.Series([1, 3, 6, np.nan, 44, 1])
  4
  5 df= pd.DataFrame(np.random.random((4,5)))
  6
  7 # data frame 常用属性
  8 df.dtypes
  9 df.index
 10 df.columns
 11 df.values
 12
 13 # data frame 常用方法
 14 df.describe()
 15 df.T
 16 df.sort_index(axis = 1, ascending = False)
 17 df.sort_values(by = 4)
 18
 19 # 选择数据
 20 dates = pd.date_range(‘20160101‘, periods = 6)
 21 df = pd.DataFrame(np.arange(24).reshape((6,4)), index = dates,
 22                   columns = [‘A‘, ‘B‘, ‘C‘, ‘D‘])
 23
 24 ‘‘‘row or column‘‘‘ # 行不可隔着选择
 25 print(df[0:3])
 26 print(df[[‘A‘, ‘D‘]])
 27
 28 ‘‘‘select by label:loc‘‘‘ # 行不可隔着选择
 29 print(df.loc[‘20160101‘, :])
 30 print(df.loc[:,[‘A‘, ‘B‘]])
 31
 32 ‘‘‘select by position:iloc‘‘‘
 33 print(df.iloc[[0, 2], [0, 3]])
 34
 35 ‘‘‘mixed selection:ix‘‘‘
 36 print(df.ix[[0, 2], [‘A‘, ‘D‘]])
 37
 38 ‘‘‘Boolean indexing‘‘‘
 39 print(df[df.B > 5])
 40
 41 # 设置数据
 42 df.iloc[2, 2] = 111
 43 df.loc[‘20160101‘, ‘D‘] = 222
 44 df.B[df.A > 5] = 0
 45 print(df)
 46
 47 df[‘F‘] = np.nan
 48 df[‘E‘] = range(6)
 49 print(df)
 50
 51 # 处理缺失数据
 52 df.iloc[0, 1] = np.nan
 53 df.iloc[1, 2] = np.nan
 54 print(df)
 55 print(df.dropna(axis = 0, how = ‘all‘)) # how = {‘any‘, ‘all‘}
 56 print(df.fillna(value = 0))
 57 print(np.any(df.isnull()))
 58
 59 # data frame 合并
 60 ‘‘‘concatenating‘‘‘
 61 df1 = pd.DataFrame(np.ones((3,4))*0, columns = [‘a‘, ‘b‘, ‘c‘, ‘d‘])
 62 df2 = pd.DataFrame(np.ones((3,4))*1, columns = [‘a‘, ‘b‘, ‘c‘, ‘d‘])
 63 df3 = pd.DataFrame(np.ones((3,4))*2, columns = [‘a‘, ‘b‘, ‘c‘, ‘d‘])
 64
 65 res = pd.concat([df1, df2, df3], axis = 0, ignore_index = True)
 66 res1 = pd.concat([df1, df2, df3], axis = 1)
 67
 68 ‘‘‘join参数‘‘‘
 69 df1 = pd.DataFrame(np.ones((3,4))*0, columns = [‘a‘, ‘b‘, ‘c‘, ‘d‘], index = [1, 2, 3])
 70 df2 = pd.DataFrame(np.ones((3,4))*1, columns = [‘b‘, ‘c‘, ‘d‘, ‘e‘], index = [2, 3, 4])
 71
 72 res = pd.concat([df1, df2], join = ‘outer‘, ignore_index = True)
 73 res = pd.concat([df1, df2], join = ‘inner‘, ignore_index = True)
 74 print(res)
 75
 76 ‘‘‘join_axes‘‘‘
 77 res = pd.concat([df1, df2], axis = 1, join = ‘inner‘)
 78 res = pd.concat([df1, df2], axis = 1, join_axes = [df1.index])
 79
 80 # append
 81 df1 = pd.DataFrame(np.ones((3,4))*0, columns = [‘a‘, ‘b‘, ‘c‘, ‘d‘], index = [1, 2, 3])
 82 df2 = pd.DataFrame(np.ones((3,4))*1, columns = [‘b‘, ‘c‘, ‘d‘, ‘e‘], index = [2, 3, 4])
 83 df3 = pd.DataFrame(np.ones((3,4))*1, columns = [‘b‘, ‘c‘, ‘d‘, ‘e‘], index = [2, 3, 4])
 84
 85 res = df1.append([df2, df3], ignore_index = True)
 86 res1 = pd.concat([df1, df2, df3])
 87 print(res)
 88 print(res1)
 89
 90 # data frame merge
 91 ‘‘‘merge one key‘‘‘
 92 left = pd.DataFrame({‘key‘:[‘K1‘,‘K2‘,‘K3‘],
 93                      ‘A‘:[1,2,3],
 94                      ‘B‘:[4,5,6]})
 95
 96 right = pd.DataFrame({‘key‘:[‘K0‘,‘K1‘,‘K3‘],
 97                      ‘A‘:[11,43,53],
 98                      ‘D‘:[12,-1,0]})
 99 res = pd.merge(left, right, on = ‘key‘, how = ‘outer‘)
100 print(res)
101
102 ‘‘‘merge two or more keys‘‘‘
103 left = pd.DataFrame({‘key0‘:[‘K1‘,‘K2‘,‘K3‘],
104                      ‘key1‘:[‘X0‘,‘X2‘,‘X3‘],
105                      ‘A‘:[1,2,3],
106                      ‘B‘:[4,5,6]})
107
108 right = pd.DataFrame({‘key0‘:[‘K0‘,‘K1‘,‘K3‘],
109                       ‘key1‘:[‘X1‘,‘X0‘,‘K3‘],
110                      ‘A‘:[11,43,53],
111                      ‘D‘:[12,-1,0]})
112 res = pd.merge(left, right, on = [‘key0‘, ‘key1‘], how = ‘outer‘)
113 print(res)
114
115 ‘‘‘merge index‘‘‘
116 left = pd.DataFrame({‘A‘:[1,2,3],
117                      ‘B‘:[4,5,6]},
118                     index = [‘K0‘, ‘K1‘, ‘K2‘])
119
120 right = pd.DataFrame({‘A‘:[11,43,53],
121                      ‘D‘:[12,-1,0]},
122                     index = [‘K1‘, ‘K2‘, ‘K3‘])
123 res = pd.merge(left, right, left_index = True,
124                right_index = True)
125 print(res)
126
127 ‘‘‘handle overlapping columns‘‘‘
128 left = pd.DataFrame({‘key‘:[‘K1‘,‘K2‘,‘K3‘],
129                      ‘A‘:[1,2,3],
130                      ‘B‘:[4,5,6]})
131
132 right = pd.DataFrame({‘key‘:[‘K0‘,‘K1‘,‘K3‘],
133                      ‘A‘:[11,43,53],
134                      ‘B‘:[12,-1,0]})
135 res = pd.merge(left, right, on = ‘key‘,
136                suffixes = [‘_left‘, ‘_right‘] , how = ‘outer‘)
137 print(res)
138
139 # 作图
140 import pandas as pd
141 import numpy as np
142 import matplotlib.pyplot as plt
143
144 ‘‘‘plot data‘‘‘
145 ‘‘‘Series‘‘‘
146 data = pd.Series(np.random.randn(1000), index = np.arange(1000))
147 data = data.cumsum()
148 data.plot()
149 print(data)
150
151 ‘‘‘Data Frame‘‘‘
152 data = pd.DataFrame(np.random.randn(1000, 4),
153                     index = np.arange(1000),
154                     columns = list("ABCD"))
155 print(data.head())
156 data = data.cumsum()
157 data.plot()
158 ax = data.plot.scatter(x = ‘A‘, y = ‘C‘,
159                        color = ‘Red‘,
160                        label = ‘Class 2‘)
161 data.plot.scatter(x = ‘A‘, y = ‘B‘,
162                   color = ‘DarkGreen‘,
163                   label = ‘Class 2‘,
164                   ax = ax)
时间: 2024-10-19 06:16:14

Python:Pandas学习的相关文章

python & pandas学习札记

参考文章: pandas使用技巧系列总览 http://www.cnblogs.com/shewell/p/7812162.html

python 数据处理学习pandas之DataFrame

请原谅没有一次写完,本文是自己学习过程中的记录,完善pandas的学习知识,对于现有网上资料的缺少和利用python进行数据分析这本书部分知识的过时,只好以记录的形势来写这篇文章.最如果后续工作定下来有时间一定完善pandas库的学习,请见谅!                     by LQJ 2015-10-25 前言: 首先推荐一个比较好的Python pandas DataFrame学习网址 网址: http://www.cnblogs.com/chaosimple/p/4153083

用scikit-learn和pandas学习线性回归

对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习啦.:) 这里我们用UCI大学公开的机器学习数据来跑线性回归. 数据的介绍在这: http://archive.ics.uci.edu/ml/datasets/Combined+Cycle+Power+Plant 数据的下载地址在这: http://archive.ics.uci.edu/ml/ma

Python pandas 0.19.1 Indexing and Selecting Data文档翻译

最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较迷糊,索性把这篇官方文档翻译出来,方便自查和学习,翻译过程中难免很多不到位的地方,但大致能看懂,错误之处欢迎指正~ Python pandas 0.19.1 Indexing and Selecting Data 原文链接 http://pandas.pydata.org/pandas-docs/stable/indexing.html 数据索引和选取 pandas对象中的轴标签信息

pandas学习系列(一):时间序列

最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- coding: utf-8 -*- # 统计未来3小时将要起飞的人数 import os import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import Min

Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习

http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好的文章 Comprehensive learning path – Data Science in Python 深度学习路径-用python进行数据学习 Journey from a Pythonnoob(新手) to a Kaggler on Python So, you want to bec

pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 describe 针对Series或DataFrame列计算统计 min/max/sum 计算最小值 最大值 总和 argmin argmax 计算能够获取到最小值和最大值的索引位置(整数) idxmin idxmax 计算能够获取到最小值和最大值的索引值 quantile 计算样本的分位数(0到1)

pandas学习(创建多层索引、数据重塑与轴向旋转)

pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组,Series也可以创建多层索引. s = Series(np.random.randint(0,150,size=6),index=[['a','a','b','b','c','c'],['期中','期末','期中','期末','期中','期末']]) # 输出 a 期中 59 期末 4

Python入门学习指南--内附学习框架

Python入门学习指南 最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台: 78486745 ,欢迎大家加入共同交流学习. 对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃.以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所有教程在基础知识介绍方面都差不多,区别在于讲的是否足够细(例如运

在python下学习libsvm

1.下载libsvm,python,gnuplot(链接网上全有,压缩包自己保留着) 2.在python上的实现(主要用截图的形式展现) (1)输入命令寻求最优参数 (2) 参数c,g输出结果 gnuplot输出图像 (3)最后输入训练数据,训练数据,通过建立模型进行预测 大概也就这样了,grid.py里面需要改下gnuplot的路径 在python下学习libsvm,布布扣,bubuko.com