loannes's blog

分类 · 杂谈

首页

关于

归档

loading..
Python, Pandas

Python数据分析之Pandas-matplotlib基础功能(二)

使用pandas和seaborn绘图 Series和DataFrame自带的生成图表方法: import pandas as pd s = pd.Series(np.random.randn(10).cumsum(), index=np.arange(0, 100, 10)) s.plot() 使用pandas做一张堆积柱状图 展示每天各种聚会规模的数据点的百分比 tips = pd.read_csv('examples/tips.csv') party_counts = pd.crosstab(tips['day'], tips['size']) print(party_counts) size 1 2 3 4 5 6 day Fri ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-matplotlib基础功能(一)

matplot API入门 如何引入: import matplotlib.pyplot as plt 一个简单的例子: import numpy as np data = np.arange(10) plt.plot(data) print(data) [0 1 2 3 4 5 6 7 8 9] 效果如下: Figure和Subplot matplot的图像都位于Fugure对象中,相当于一个画板,如何创建Figure对象。 fig = plt.figure() ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 3) 想要实现绘图,必须先使用add_subplot..

更多
loading..
Python, Pandas

实战项目练习-【2018世界杯】用Python分析夺冠球队

前言 在网上找到了个用Python分析2018世界杯夺冠热门的项目,感觉很有意思准备拿来练练手。 因为目前还没有学到图形可视化部分,所以这部分内容会完全借鉴网上的教程。 分析目的 通过数据分析找出哪些队伍是这次世界杯的夺冠热门球队 开发环境 Python 3.7 SublimeText2 初步分析数据情况 import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import DataFrame,Series df = pd.read_csv('results.csv') print(df.head()) 由于sublimetext上打印数据显示不全,所以打印数据放在ipython中了 I..

更多
loading..
Python, Pandas

Python数据分析之Pandas-过滤与清理

移除重复数据 DataFrame中常常会出现重复行。如下面这个例子: In [295]: data = DataFrame({'k1':['one']*3 + ['two'] * 4, 'k2':[1,1,2,3,3,4,4]}) In [296]: data Out[296]: k1 k2 0 one 1 1 one 1 2 one 2 3 two 3 4 two 3 5 two 4 6 two 4 DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复行: In [297]: data.duplicated() Out[297]: 0 False 1 True 2 Fals..

更多
loading..
Python, Pandas

Python数据分析之Pandas-重塑

重塑层次化索引 层次化索引为DataFrame数据的重排任务提供了一种良好一致性的方式。主要功能: stack: 将数据的列”旋转“为行 unstack:将数据的行“旋转”为列 接下来看一个行列索引均为字符串的例子: In [169]: data = DataFrame(np.arange(6).reshape((2,3)),index=pd.Index(['Ohio','Colorado'],name='sta ...: te'),columns=pd.Index(['one','two','three'],name='number')) In [170]: data Out[170]: number one two three state Ohio 0 1..

更多
loading..
Python, Pandas

Python数据分析之Pandas-聚合与合并(二)

索引上的合并 **比如DataFrame中连接键位于其索引中的情况,传入left_index=True或right_index=True以说明索引应该被用作连接键: In [62]: left1 = DataFrame({'key':['a','b','a','a','b','c'],'value':range(6)}) In [63]: right1 = DataFrame({'group_val':[3.5, 7]}, index=['a','b']) In [64]: left1 Out[64]: key value 0 a 0 1 b 1 2 a 2 3 a 3 4 b 4 5 ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-聚合与合并(一)

层次化索引 层次化索引让你能在一个轴上拥有多个索引级别。 层次化索引我个人理解是对索引进行了分组,比方说一部分数据是今年的,一部分数据是明年的,可通过层次化索引进行切块以方便后续选取数据 In [263]: data = Series(np.random.randn(10), index=[['2010','2010','2010','2011','2011','2011','2012','2012','2013','2013'],[ ...: 1, 2, 3, 1, 2, 3, 1, 2, 2, 3]]) # 这种形式叫做带有```MultiIndex```索引的格式化输出形式。 In [264]: data Out[264]: 2010 1 1.739760 2 ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-数据清理

合并数据集 离散化和面元划分 为了方便分析,连续数据常常被离散化或拆分为“面元”,可以看下面的例子: ages = [20,22,25,27,21,23,37,31,61,55,29] 可以看到上面这组表示年龄的数据非常的杂乱无序,接下来需要用到cat函数来对它们进行分割 In [90]: bins = [18, 25, 35, 60, 100] In [91]: cats = pd.cut(ages, bins) ca In [92]: cats Out[92]: [(18, 25], (18, 25], (18, 25], (25, 35], (18, 25], ..., (35, 60], (25, 35], (60, 100], (35, 60], (25, 35]] Length: 11 ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-数据文件加载与存储(二)

读取Microsoft Excel文件 Excel作为最典型的表格型数据,我们需要用到ExcelFile对象,首先需要下载安装xlrd和openpyxl包 In [11]: xls_file = pd.ExcelFile('ex1.xlsx') In [12]: table = xls_file.parse('Sheet1') In [13]: table Out[13]: Unnamed: 0 a b c d message 0 0 1 2 3 4 hello 1 1 5 6 7 8 world 2 2 9 10 11 12 foo 用requests与Web AP..

更多
loading..
Python, Pandas, 数据存储

Python数据分析之Pandas-数据文件加载与存储(一)

读写文本格式的数据 通过cat 输出文件内容: In [20]: cat ex1.csv a,b,c,d,message 1,2,3,4,hello 5,6,7,8,world 9,10,11,12,foo 由于文件是csv格式,可以使用read_csv读取文件并返回DataFrame: In [23]: df = pd.read_csv('ex1.csv') In [24]: df Out[24]: a b c d message 0 1 2 3 4 hello 1 5 6 7 8 world 2 9 10 11 12 foo 如果想读取没有标题行的文件: In [26]: cat ex2.csv 1,2,3,4,hello 5..

更多
1234