Python基本数据统计

合集下载

python众数函数

python众数函数

python众数函数Python中的统计函数可以帮助我们在数据处理中快速地获取我们需要的信息。

众数,即在一组数据中出现次数最多的数,是常见的统计指标之一。

在Python中,我们可以使用一些内置函数或第三方库对数据进行众数统计。

本文将介绍这些方法。

1. max()函数max()函数可以返回一个序列中的最大值。

如果我们想要统计一个数据序列的众数,可以先使用Python内置的collections库中的Counter函数统计每个数字出现次数,然后再用max()函数找到出现次数最大的数字。

```import collectionsnums = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5]count = collections.Counter(nums)mode = max(count, key=count.get)print(mode)```2. statistics库中的mode()函数Python的statistics库中也有mode()函数可以帮助我们计算一个列表中的众数。

下面是使用方法:上述代码中,我们使用statistics库中的mode()函数计算出nums列表中的众数。

结果与使用max()函数相同,都是数字4。

二、numpy库除了Python内置的函数和库外,还可以使用第三方库numpy进行众数的计算。

numpy 库中的函数可以快速计算一组数据的统计信息,其中包括众数。

numpy中的mode()函数可以计算一组数据的众数。

与前面介绍的方法类似,我们可以使用该函数计算出列表中的众数。

下面是使用方法:三、pandas库pandas库是Python中功能强大的数据分析库之一。

在分析数据时,我们经常会使用pandas库中的函数。

下面介绍pandas库中的方法来统计数据的众数。

总结本文介绍了Python中几种计算众数的方法,其中包括使用Python内置函数、numpy 库和pandas库的方法。

python数据分析基础

python数据分析基础

数据分析数据类型一维数据由对等关系的有序或无序数据构成,采用线性方式组织。

(列表、数组和集合)列表:数据类型可以不同(3.1413, 'pi', 3.1404, [3.1401,3.1349], '3.1376')数组:数据类型相同(3.1413, 3.1398, 3.1404, 3.1401, 3.1349, 3.1376)二维数据由多个一维数据构成,是一维数据的组合形式。

(表格)多维数据由一维或二维数据在新维度上扩展形成。

高维数据仅利用最基本的二元关系展示数据间的复杂结构。

(键值对)NumpyNumpy是一个开源的Python科学计算基础库,包含:1)一个强大的N维数组对象ndarray;2)广播功能函数;3)整合C/C++/Fortran代码的工具;4)线性代数、傅里叶变换、随机数生成等功能。

Numpy是SciPy、Pandas等数据处理或科学计算库的基础。

Numpy的引用:import numpy as np(别名可以省略或更改,建议使用上述约定的别名)N维数组对象:ndarray1)数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据;2)设置专门的数组对象,经过优化,可以提升这类应用的运算速度;(一个维度所有数据的类型往往相同)3)数组对象采用相同的数据类型,有助于节省运算和存储空间;4)ndarray是一个多维数组对象,由两部分构成:实际的数据;描述这些数据的元数据(数据维度、数据类型等)。

ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。

np.array()生成一个ndarray数组。

(ndarray在程序中的别名是:array)轴(axis): 保存数据的维度;秩(rank):轴的数量ndarray对象的属性.ndim 秩,即轴的数量或维度的数量.shape ndarray对象的尺度,对于矩阵,n行m列.size ndarray对象元素的个数,相当于.shape中n*m的值.dtype ndarray对象的元素类型.itemsize ndarray对象中每个元素的大小,以字节为单位ndarray的元素类型bool 布尔类型,True或Falseintc 与C语言中的int类型一致,一般是int32或int64intp 用于索引的整数,与C语言中ssize_t一致,int32或int64 int8 字节长度的整数,取值:[‐128, 127]int16 16位长度的整数,取值:[‐32768, 32767]int32 32位长度的整数,取值:[‐231, 231‐1]int64 64位长度的整数,取值:[‐263, 263‐1]uint8 8位无符号整数,取值:[0, 255]uint16 16位无符号整数,取值:[0, 65535]uint32 32位无符号整数,取值:[0, 232‐1]uint64 32位无符号整数,取值:[0, 264‐1]float16 16位半精度浮点数:1位符号位,5位指数,10位尾数float32 32位半精度浮点数:1位符号位,8位指数,23位尾数float64 64位半精度浮点数:1位符号位,11位指数,52位尾数complex64 复数类型,实部和虚部都是32位浮点数complex128 复数类型,实部和虚部都是64位浮点数实部(.real) + j虚部(.imag)ndarray数组可以由非同质对象构成(array([ [0,1,2,3,4], [9,8,7,6] ])),非同质ndarray对象无法有效发挥NumPy优势,尽量避免使用。

Python脚本自动化计算数据统计

Python脚本自动化计算数据统计

Python脚本自动化计算数据统计在当今数字化的时代,数据量呈爆炸式增长,如何高效地处理和分析这些数据成为了各个领域面临的重要挑战。

Python 作为一种功能强大且易于学习的编程语言,为数据处理和统计分析提供了便捷的解决方案。

通过编写 Python 脚本,我们可以实现数据统计的自动化,大大提高工作效率和准确性。

Python 拥有丰富的库和工具,使得数据处理和统计变得相对简单。

其中,像`pandas`、`numpy` 和`matplotlib` 等库是我们进行数据统计的得力助手。

首先,让我们来谈谈数据的获取。

数据可以来自各种来源,如 CSV 文件、Excel 表格、数据库甚至是网络爬虫获取的数据。

假设我们有一个 CSV 文件`datacsv`,其中包含了一些销售数据,如产品名称、销售数量、销售价格等。

```pythonimport pandas as pddata = pdread_csv('datacsv')```通过上述代码,我们使用`pandas` 库的`read_csv` 函数轻松地将CSV 文件中的数据读取到一个`DataFrame` 对象中,这就为后续的处理和分析奠定了基础。

接下来,我们可以对数据进行清洗和预处理。

数据可能存在缺失值、异常值或者错误的格式,我们需要对其进行处理以保证数据的质量。

```pythondata = datadropna()去除包含缺失值的行data = datadata'sales_quantity' > 0 去除销售数量小于等于 0 的行```然后,就是进行数据的统计计算。

比如,我们想要计算每种产品的总销售额,可以这样做:```pythondata'total_sales' = data'sales_quantity' data'sales_price'product_sales = datagroupby('product_name')'total_sales'sum()```上述代码中,首先我们新增了一列`total_sales` 来计算每个销售记录的总销售额。

如何在Python中进行数据的聚合和统计分析

如何在Python中进行数据的聚合和统计分析

如何在Python中进行数据的聚合和统计分析在Python中进行数据的聚合和统计分析是数据科学和数据分析中至关重要的一部分。

Python提供了许多强大的库和工具,使得数据的聚合和统计分析变得更加简单和高效。

本文将从数据的预处理开始,介绍如何使用Python进行数据的聚合和统计分析,包括数据的清洗、聚合、可视化和模型分析等方面。

## 1.数据清洗数据清洗是进行数据分析前的一项重要工作,它包括处理缺失值、异常值和重复值等。

Python中有许多库可以帮助我们进行数据清洗。

其中,Pandas是一个常用的库,它提供了大量的数据结构和数据操作函数,可以帮助我们对数据进行清洗。

### 1.1处理缺失值处理缺失值是数据清洗的一个重要环节。

在Python中,我们可以使用Pandas库来处理缺失值。

例如,可以使用dropna()函数来删除包含缺失值的行或列,或者使用fillna()函数来填充缺失值。

### 1.2处理异常值异常值可能会对数据的统计分析产生较大的影响,因此需要对异常值进行处理。

在Python中,我们可以使用Pandas库的描述性统计函数来识别异常值,并使用筛选函数对异常值进行处理。

### 1.3处理重复值重复值可能会对数据的分析产生误导,因此需要对重复值进行处理。

在Python中,我们可以使用Pandas库的drop_duplicates()函数来删除重复值。

## 2.数据聚合数据聚合是数据分析的重要步骤之一,它包括对数据进行分组、汇总、计数和统计等。

在Python中,我们可以使用Pandas库来进行数据聚合。

### 2.1数据分组在Python中,我们可以使用groupby()函数对数据进行分组,这样可以方便地对每个组进行聚合计算。

例如,可以对数据按照某一列进行分组,并进行求和、平均值、计数等操作。

### 2.2数据汇总数据汇总是数据聚合的一个重要环节。

在Python中,我们可以使用Pandas库的agg()函数对数据进行汇总计算。

python 统计指标

python 统计指标

python 统计指标Python 是一门面向对象、解释型的高级编程语言,它有丰富的库和工具,可用于各种数据处理和分析任务。

在数据分析中,统计指标扮演着非常重要的角色。

统计指标用于描述和汇总数据集的特征和趋势,帮助人们更好地理解数据。

本文将介绍一些常用的统计指标,并提供相关的 Python 参考内容。

一、均值:均值是统计学中最基本的指标之一,它代表着一组数据的平均值。

在 Python 中,可以使用 statistics 模块中的 mean() 函数计算均值。

下面是一个示例代码:```pythonimport statisticsdata = [1, 2, 3, 4, 5]mean = statistics.mean(data)print(mean)```二、中位数:中位数是按照大小顺序排列的一组数据中居于中间位置的数值。

它可以用来描述数据的集中趋势。

Python 中,可以使用statistics 模块中的 median() 函数来计算中位数。

下面是一个示例代码:```pythonimport statisticsdata = [1, 2, 3, 4, 5]median = statistics.median(data)print(median)```三、众数:众数是一组数据中出现频率最高的数值。

统计学中,众数常用于描述数据分布的特征。

Python 中,可以使用 statistics 模块中的 mode() 函数来计算众数。

下面是一个示例代码:```pythonimport statisticsdata = [1, 2, 3, 2, 4, 5, 2]mode = statistics.mode(data)print(mode)```四、方差和标准差:方差和标准差是描述数据的离散程度的指标,它们可以用来衡量数据的变异程度。

方差是各个数据与其均值之差的平方的平均值,而标准差是方差的平方根。

在 Python 中,可以使用statistics 模块中的 variance() 和 stdev() 函数分别计算方差和标准差。

统计区域矢量数据长度 python

统计区域矢量数据长度 python

统计区域矢量数据长度 python在Python中,可以使用Geopandas库来统计区域矢量数据的长度。

Geopandas 是一个用于地理空间数据处理的开源库,它提供了简单易用的数据结构来处理地理空间数据,同时也整合了Pandas库的数据处理功能。

首先,需要安装Geopandas库,可以使用pip来安装:```pip install geopandas```接着,可以通过以下步骤来统计区域矢量数据的长度:1. 导入必要的库:```pythonimport geopandas as gpd```2. 读取矢量数据文件:```pythongdf = gpd.read_file('your_shapefile.shp')```3. 计算每个几何对象的长度:```pythongdf['length'] = gdf.length```4. 可以对长度进行进一步的统计分析,比如计算总长度、平均长度等:```pythontotal_length = gdf['length'].sum()mean_length = gdf['length'].mean()```5. 最后,可以将计算得到的长度数据保存到文件或者进行可视化展示:```pythongdf.to_file('output_shapefile.shp')```通过以上步骤,就可以在Python中使用Geopandas库来统计区域矢量数据的长度。

这种方法简单易用,适用于处理各种地理空间数据,可以帮助用户快速准确地进行长度统计分析。

如果需要进一步的功能,也可以结合其他库来实现更复杂的地理空间数据处理。

希望以上内容能够满足您的需求,如有其他问题,欢迎继续交流讨论。

python基本数据类型及运算应用的实验内容和原理

python基本数据类型及运算应用的实验内容和原理

python基本数据类型及运算应用的实验内容和原理文章标题:探索Python基本数据类型及运算应用的实验内容和原理一、引言在计算机编程领域中,Python作为一种高级通用编程语言,其简洁灵活、易学易用的特点备受程序员喜爱。

在Python中,基本数据类型及其相关的运算应用是编程的基础,对初学者来说尤为重要。

本文将带您探索Python基本数据类型及运算应用的实验内容和原理。

二、Python基本数据类型概述1. 整数类型:在Python中,整数类型(int)可以表示正整数、负整数和零。

2. 浮点数类型:浮点数(float)用于表示小数,包括带小数点的数值。

3. 字符串类型:字符串(str)是由字符组成的有序集合,可以用单引号或双引号表示。

4. 列表类型:列表(list)是一种有序的集合,可以容纳任意数量、任意类型的对象。

三、Python基本数据类型的实验内容与应用1. 整数类型实验内容和应用2. 浮点数类型实验内容和应用3. 字符串类型实验内容和应用4. 列表类型实验内容和应用四、Python基本数据类型的运算原理探究1. 整数类型的运算原理2. 浮点数类型的运算原理3. 字符串类型的运算原理4. 列表类型的运算原理五、总结与回顾通过本文的共享,我们深入探讨了Python基本数据类型及运算应用的实验内容和原理。

无论是整数类型、浮点数类型、字符串类型还是列表类型,都有其独特的特点和运算规则。

在编程实践中,我们需要灵活运用这些基本数据类型和运算符号,才能更好地实现自己的编程目标。

六、个人观点与理解在学习和实践Python编程过程中,我深切体会到基本数据类型的重要性。

只有对整数、浮点数、字符串和列表等基本类型有深入的理解,才能在编程时游刃有余,提高编程效率。

对于运算应用的理解和掌握,可以帮助我们更好地处理程序中的逻辑和算法,实现更加复杂、精妙的功能。

七、参考资料1. Python官方文档:2. 《Python编程:从入门到实践》3. 《Python基础教程》在本文中,我们以序号标注的形式,详细探讨了Python基本数据类型及运算应用的实验内容和原理。

Python数据分析与应用介绍课件

Python数据分析与应用介绍课件

息、规律和趋势的过程
4
数据分析方法:包括描述性统计分析、 探索性数据分析、验证性数据分析等
6
数据分析结果:包括图表、报告、模
型等
数据分析工具介绍
NumPy:用于科学计算的基础库,提供高效
01
的多维数组和矩阵运算
Pandas:用于数据处理和分析的库,提供数 02 据清洗、转换、分析和可视化功能
Matplotlib:用于数据可视化的库,提供各
数据格式:CSV、JSON、XML等 02
数据清洗:包括缺失值处理、异常 0 3 值处理、重复值处理等
数据预处理:包括数据标准化、数 0 4 据归一化、数据离散化等
数据可视化:包括柱状图、折线图、
数据分析:包括描述性统计分析、探
0 5 饼图等
0 6 索性数据分析、预测性数据分析等
数据处理与分析
数据清洗:去除
大数据分析与处理
STEP1
STEP2
STEP3
STEP4
STEP5
大数据分析: 从大量数据中 提取有价值的 信息
数据预处理: 数据清洗、数 据转换、数据 归一化等
特征工程:选 择、提取、构 建数据特征
模型选择与训 练:选择合适 的模型,进行 训练和优化
结果评估与可 视化:评估模 型性能,将结 果可视Seaborn:基于Matplotlib的高级可视化库,
04
提供更美观、更易于定制的图表
SciPy:用于科学计算的库,提供优化、积分、
05
统计等高级数学功能
Scikit-learn:用于机器学习和数据挖掘的库,
06
提供各种分类、回归、聚类等算法
数据获取与清洗
数据来源:包括公开数据集、API接 0 1 口、爬虫等

python计算各成绩段人数的代码

python计算各成绩段人数的代码

一、概述在教育领域,对学生成绩进行分析是一项重要的工作。

通过分析各个成绩段的人数分布,可以帮助学校了解学生成绩的整体情况,发现学习中存在的问题,并有针对性地进行教学改进。

而Python作为一门高效的编程语言,可以帮助教育工作者更好地进行成绩分析。

本文将介绍如何使用Python编写代码来计算各个成绩段的人数。

二、需求分析1.输入:学生的成绩数据,数据格式为列表或数组。

2.输出:各个成绩段的人数,可以以字典的形式进行保存。

三、编写Python代码下面我们将介绍如何使用Python编写代码来实现对各个成绩段人数的计算。

1.导入所需的库在编写Python代码之前,我们首先需要导入所需的库,以便能够使用其中的函数和方法。

```pythonimport numpy as np```2.定义成绩数据接下来,我们需要定义学生的成绩数据,以便进行后续的分析。

```pythonscores = [80, 60, 70, 90, 85, 55, 65, 75, 95, 100, 60, 75, 85, 90, 80] ```3.定义成绩段在进行成绩分析之前,我们需要先定义各个成绩段的区间范围。

```pythonbins = [0, 60, 70, 80, 90, 100]```4.计算各成绩段人数接下来,我们使用numpy中的histogram函数来对成绩数据进行分段统计,得到各个成绩段的人数。

```pythonhist, _ = np.histogram(scores, bins)```5.将结果保存到字典中我们将得到的各个成绩段的人数以字典的形式进行保存,方便后续的使用和分析。

```pythonresult = {f'{bins[i]}~{bins[i+1]}': hist[i] for i in range(len(hist))} print(result)```四、完整代码经过以上的步骤,我们已经完成了对各个成绩段人数的计算,下面是完整的Python代码。

学习Python实现数据处理与分析

学习Python实现数据处理与分析

学习Python实现数据处理与分析Python是一种开源的编程语言,具备简洁、高效的特点,并且在数据处理与分析领域有着广泛的应用。

本文将从数据清洗、数据分析和数据可视化三个方面,介绍如何使用Python进行数据处理与分析。

一、数据清洗数据清洗是数据处理的第一步,也是非常重要的一步。

下面介绍几个常用的数据清洗方法。

1. 去除重复值在处理大量数据时,常常会遇到重复的数据。

可以使用Python 的pandas库中的drop_duplicates()函数去除重复值。

例如,我们可以使用以下代码去除data中的重复值:data = data.drop_duplicates()2. 缺失值处理在数据中,经常会遇到缺失值的情况。

可以使用Python的pandas库中的fillna()函数对缺失值进行处理。

例如,我们可以使用以下代码将data中的所有缺失值替换为0:data = data.fillna(0)3. 数据类型转换数据在导入时,可能会出现数据类型不一致的情况,影响后续的数据分析。

可以使用Python的pandas库中的astype()函数将数据类型进行转换。

例如,我们可以使用以下代码将data中的数据转换为整数类型:data = data.astype(int)二、数据分析Python具备强大的数据分析能力,下面介绍几个常用的数据分析方法。

1. 描述性统计描述性统计是对数据进行初步分析的一种方法,可以使用Python的pandas库中的describe()函数来得到数据的基本统计量,如均值、中位数、标准差等。

例如,我们可以使用以下代码计算data的描述性统计量:data.describe()2. 相关性分析相关性分析用来研究两个变量之间的相关关系,可以使用Python的pandas库中的corr()函数来计算变量之间的相关系数。

例如,我们可以使用以下代码计算data中各个变量之间的相关系数:data.corr()3. 数据建模数据建模是数据分析的重要环节,可以使用Python的scikit-learn库进行数据建模。

Python中的数据分析和统计方法

Python中的数据分析和统计方法

Python中的数据分析和统计方法Python是一门功能强大的编程语言,广泛应用于数据分析和统计方法。

本文将详细介绍Python中常用的数据分析和统计方法,并按类进行章节划分,深入探讨每个章节的具体内容。

第一章:数据预处理在进行数据分析之前,通常需要对原始数据进行清洗和预处理。

Python提供了很多用于数据预处理的库和方法。

其中,pandas是最常用的库之一。

pandas可以用于数据的读取、清洗、转换和合并等操作。

另外,NumPy库也提供了许多用于数组操作和数值运算的函数,可用于数据预处理过程中的一些计算。

第二章:数据可视化数据可视化是数据分析的重要环节,它可以使得数据更加直观和易于理解。

Python中有多个可视化库可以使用,如Matplotlib、Seaborn和Plotly等。

这些库可以生成各种类型的图表,如线图、散点图、柱状图和饼图等。

通过合理选择和使用可视化方法,可以更好地展示数据的分布和趋势。

第三章:统计描述统计描述是对数据进行摘要和概括的过程。

在Python中,可以使用pandas库的describe()函数来计算数据的基本统计量,如均值、标准差、最大值和最小值等。

此外,还可以使用scipy库中的一些函数来计算概率分布、置信区间和假设检验等统计指标。

第四章:回归分析回归分析是数据分析中常用的一种方法,用于探究变量之间的关系和预测未来趋势。

Python中的statsmodels库提供了许多回归分析的方法,如线性回归、逻辑回归和多元回归等。

通过回归分析,可以得到模型的参数估计和拟合优度等指标,进而对未知数据进行预测和推测。

第五章:聚类分析聚类分析是将数据按照相似性进行分组的一种方法。

在Python 中,可以使用scikit-learn库中的KMeans算法来进行聚类分析。

KMeans算法通过迭代计算将数据划分为K个簇,使得同一簇内的数据相似度最高,不同簇之间的相似度最低。

聚类分析可以帮助我们发现数据中潜在的模式和规律。

Python脚本自动化计算数据统计

Python脚本自动化计算数据统计

Python脚本自动化计算数据统计一、Python 数据处理库要进行数据统计,首先需要了解一些常用的 Python 数据处理库。

其中,`pandas` 是一个非常强大的库,它提供了高效的数据结构和数据分析工具。

`numpy` 则主要用于数值计算,在数据处理中也经常被用到。

我们可以使用`pip` 命令来安装这些库:```pip install pandas numpy```二、数据读取在进行数据统计之前,需要先将数据读取到 Python 中。

`pandas` 提供了多种读取数据的方法,例如读取 CSV 文件、Excel 文件、数据库等。

以下是读取 CSV 文件的示例代码:```pythonimport pandas as pddata = pdread_csv('datacsv')```这里假设我们的数据存储在名为`datacsv` 的文件中。

三、数据清洗读取到数据后,往往需要进行数据清洗,去除重复值、处理缺失值等。

以下是一些常见的数据清洗操作:1、去除重复值```pythondata = datadrop_duplicates()```2、处理缺失值```pythondata = datafillna(0) 将缺失值填充为 0```四、数据统计分析完成数据清洗后,就可以进行各种统计分析了。

例如,计算平均值、总和、最大值、最小值等。

1、计算平均值```pythonaverage = data'column_name'mean()```2、计算总和```pythontotal = data'column_name'sum()```3、计算最大值```pythonmax_value = data'column_name'max()```4、计算最小值```pythonmin_value = data'column_name'min()```这里的`column_name` 是要进行统计的列名。

Python在统计分析中的应用

Python在统计分析中的应用

Python在统计分析中的应用Python作为一种高级编程语言,广泛应用于各个领域,其中包括统计分析。

统计分析作为数据处理和决策支持的关键方法之一,在现代社会发挥着重要的作用。

本文将探讨Python在统计分析中的应用,包括数据收集、数据清洗、数据可视化、统计模型建立和分析等方面。

一、数据收集在进行统计分析之前,首先需要收集相关的数据。

Python提供了许多强大的库,用于数据的获取和读取。

例如,可以使用requests库获取网络上的数据,使用pandas库读取CSV或Excel格式的数据,使用BeautifulSoup库从网页中提取数据等。

这些库提供了便捷的方法,使得数据的收集工作变得更加高效。

二、数据清洗在得到原始数据后,往往需要对其进行清洗和预处理,以提高数据的质量和准确性。

Python在数据清洗方面提供了丰富的工具和库,例如pandas库提供了各种数据清洗和处理函数,如缺失值填充、异常值处理、重复值删除等。

此外,还可以利用正则表达式等方法对文本数据进行清洗和提取。

通过Python的强大功能,可以将原始数据转化为干净、规范的数据,为后续的分析工作打下坚实的基础。

三、数据可视化数据可视化是统计分析的重要环节,能够将庞大的数据转化为直观的图表,帮助人们更好地理解和分析数据。

Python中的matplotlib和seaborn库提供了丰富的绘图功能,能够绘制各种类型的图表,如折线图、柱状图、散点图等。

此外,还可以利用plotly库创建交互式图表,增加用户的参与度。

通过Python可视化工具的使用,可以将分析结果以直观的形式呈现,提升分析的可解释性和可视性。

四、统计模型建立与分析Python作为一种通用编程语言,提供了多种统计模型的建立和分析方法。

statsmodels是Python中常用的统计分析库,提供了各类统计模型的建立和分析函数。

例如,可以利用statsmodels进行线性回归、逻辑回归、时间序列分析等。

Python统计数据集标签的类别及数目操作

Python统计数据集标签的类别及数目操作

Python统计数据集标签的类别及数⽬操作看了⼤神统计voc数据集标签框后,针对⾃⼰标注数据集,灵活应⽤,感谢!看代码吧~import reimport osimport xml.etree.ElementTree as ETclass1 = 'answer'class2 = 'hand'class3 = 'write'class4 = 'music'class5 = 'phone''''class6 = 'bus'class7 = 'car'class8 = 'cat'class9 = 'chair'class10 = 'cow'class11 = 'diningtable'class12 = 'dog'class13 = 'horse'class14 = 'motorbike'class15 = 'person'class16 = 'pottedplant'class17 = 'sheep'class18 = 'sofa'class19 = 'train'class20 = 'tvmonitor''''annotation_folder = '/home/.../train/' #改为⾃⼰标签⽂件夹的路径#annotation_folder = '/home/.../VOC2007/Annotations/'list = os.listdir(annotation_folder)def file_name(file_dir):L = []for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] == '.xml':L.append(os.path.join(root, file))return Ltotal_number1 = 0total_number2 = 0total_number3 = 0total_number4 = 0total_number5 = 0'''total_number6 = 0total_number7 = 0total_number8 = 0total_number9 = 0total_number10 = 0total_number11 = 0total_number12 = 0total_number13 = 0total_number14 = 0total_number15 = 0total_number16 = 0total_number17 = 0total_number18 = 0total_number19 = 0total_number20 = 0'''total = 0total_pic=0pic_num1 = 0pic_num2 = 0pic_num3 = 0pic_num4 = 0pic_num5 = 0'''pic_num6 = 0pic_num7 = 0pic_num8 = 0pic_num11 = 0pic_num12 = 0pic_num13 = 0pic_num14 = 0pic_num15 = 0pic_num16 = 0pic_num17 = 0pic_num18 = 0pic_num19 = 0pic_num20 = 0'''flag1 = 0flag2 = 0flag3 = 0flag4 = 0flag5 = 0'''flag6 = 0flag7 = 0flag8 = 0flag9 = 0flag10 = 0flag11 = 0flag12 = 0flag13 = 0flag14 = 0flag15= 0flag16 = 0flag17 = 0flag18 = 0flag19 = 0flag20 = 0'''xml_dirs = file_name(annotation_folder)for i in range(0, len(xml_dirs)):print(xml_dirs[i])#path = os.path.join(annotation_folder,list[i])#print(path)annotation_file = open(xml_dirs[i]).read()root = ET.fromstring(annotation_file)#tree = ET.parse(annotation_file)#root = tree.getroot()total_pic = total_pic + 1for obj in root.findall('object'):label = obj.find('name').textif label == class1:total_number1=total_number1+1flag1=1total = total + 1#print("bounding box number:", total_number1) if label == class2:total_number2=total_number2+1flag2=1total = total + 1if label == class3:total_number3=total_number3+1flag3=1total = total + 1if label == class4:total_number4=total_number4+1flag4=1total = total + 1if label == class5:total_number5=total_number5+1flag5=1total = total + 1'''if label == class6:total_number6=total_number6+1flag6=1total = total + 1if label == class7:total_number7=total_number7+1if label == class8:total_number8=total_number8+1 flag8=1total = total + 1if label == class9:total_number9=total_number9+1 flag9=1total = total + 1if label == class10:total_number10=total_number10+1 flag10=1total = total + 1if label == class11:total_number11=total_number11+1 flag11=1total = total + 1if label == class12:total_number12=total_number12+1 flag12=1total = total + 1if label == class13:total_number13=total_number13+1 flag13=1total = total + 1if label == class14:total_number14=total_number14+1 flag14=1total = total + 1if label == class15:total_number15=total_number15+1 flag15=1total = total + 1if label == class16:total_number16=total_number16+1 flag16=1total = total + 1if label == class17:total_number17=total_number17+1 flag17=1total = total + 1if label == class18:total_number18=total_number18+1 flag18=1total = total + 1if label == class19:total_number19=total_number19+1 flag19=1total = total + 1if label == class20:total_number20=total_number20+1 flag20=1total = total + 1'''if flag1==1:pic_num1=pic_num1+1#print("pic number:", pic_num1)flag1=0if flag2==1:pic_num2=pic_num2+1flag2=0if flag3==1:pic_num3=pic_num3+1flag3=0if flag4==1:pic_num4=pic_num4+1flag4=0if flag5==1:pic_num5=pic_num5+1flag5=0'''if flag6==1:pic_num6=pic_num6+1flag6=0if flag7==1:pic_num7=pic_num7+1if flag8==1:pic_num8=pic_num8+1flag8=0if flag9==1:pic_num9=pic_num9+1flag9=0if flag10==1:pic_num10=pic_num10+1flag10=0if flag11==1:pic_num11=pic_num11+1flag11=0if flag12==1:pic_num12=pic_num12+1flag12=0if flag13==1:pic_num13=pic_num13+1flag13=0if flag14==1:pic_num14=pic_num14+1flag14=0if flag15==1:pic_num15=pic_num15+1flag15=0if flag16==1:pic_num16=pic_num16+1flag16=0if flag17==1:pic_num17=pic_num17+1flag17=0if flag18==1:pic_num18=pic_num18+1flag18=0if flag19==1:pic_num19=pic_num19+1flag19=0if flag20==1:pic_num20=pic_num20+1flag20=0'''print(class1,pic_num1,total_number1)print(class2,pic_num2,total_number2)print(class3,pic_num3, total_number3)print(class4,pic_num4, total_number4)print(class5,pic_num5, total_number5)'''print(class6,pic_num6, total_number6)print(class7,pic_num7, total_number7)print(class8,pic_num8, total_number8)print(class9,pic_num9, total_number9)print(class10,pic_num10, total_number10)print(class11,pic_num11,total_number11)print(class12,pic_num12,total_number12)print(class13,pic_num13, total_number13)print(class14,pic_num14, total_number14)print(class15,pic_num15, total_number15)print(class16,pic_num16, total_number16)print(class17,pic_num17, total_number17)print(class18,pic_num18, total_number18)print(class19,pic_num19, total_number19)print(class20,pic_num20, total_number20)'''print("total", total_pic, total)补充:【数据集处理】Python对⽬标检测数据集xml⽂件操作(统计⽬标种类、数量、⾯积、⽐例等&修改⽬标名字)1. 根据xml⽂件统计⽬标种类以及数量# -*- coding:utf-8 -*-#根据xml⽂件统计⽬标种类以及数量import osimport xml.etree.ElementTree as ETimport numpy as npnp.set_printoptions(suppress=True, threshold=np.nan)import matplotlibfrom PIL import Imagedef parse_obj(xml_path, filename):tree=ET.parse(xml_path+filename)objects=[]for obj in tree.findall('object'):obj_struct={}obj_struct['name']=obj.find('name').textobjects.append(obj_struct)return objectsdef read_image(image_path, filename):im=Image.open(image_path+filename)W=im.size[0]H=im.size[1]area=W*Him_info=[W,H,area]return im_infoif __name__ == '__main__':xml_path='/home/dlut/⽹络/make_database/数据集——合集/VOCdevkit/VOC2018/Annotations/'filenamess=os.listdir(xml_path)filenames=[]for name in filenamess:name=name.replace('.xml','')filenames.append(name)recs={}obs_shape={}classnames=[]num_objs={}obj_avg={}for i,name in enumerate(filenames):recs[name]=parse_obj(xml_path, name+ '.xml' )for name in filenames:for object in recs[name]:if object['name'] not in num_objs.keys():num_objs[object['name']]=1else:num_objs[object['name']]+=1if object['name'] not in classnames:classnames.append(object['name'])for name in classnames:print('{}:{}个'.format(name,num_objs[name]))print('信息统计算完毕。

python使用openpyxl统计数据个数的方法

python使用openpyxl统计数据个数的方法

要使用openpyxl统计Excel数据个数,首先需要读取Excel文件,然后遍历所需的工作表(sheet),最后统计特定数据出现的次数。

以下是一个简单的例子:
```python
from openpyxl import load_workbook
def count_data(filename, data):
# 加载工作簿
wb = load_workbook(filename)
# 遍历工作簿中的每一个工作表
for sheet in wb:
# 获取当前工作表的名称
sheet_name = sheet.title
# 遍历行
for row in sheet.iter_rows():
# 遍历单元格
for cell in row:
# 如果单元格的值等于所需查找的数据,计数器加一
if cell.value == data:
count = count + 1
return count
filename = 'your_file.xlsx' # 你的Excel文件路径
data = 'your_data' # 你想要统计的数据
count = count_data(filename, data)
print(f'The data "{data}" appears {count} times in the file.')
```
这个函数会遍历Excel文件中的每一个工作表,每一行,每一个单元格,如果单元格的值等于你指定的数据,那么计数器就会加一。

最后,函数会返回这个数据在整个Excel文件中出现的次数。

简述python中利用数据统计方法检测异常值的常用方法和原理。

简述python中利用数据统计方法检测异常值的常用方法和原理。

简述python中利用数据统计方法检测异常值
的常用方法和原理。

Python中利用数据统计方法检测异常值是一种有效的数据挖掘技术。

它可以找出数据集中出现极端值或不正常值的变量,并进行处理。

数据统计方法检测异常值的原理是基于分位数的划分。

它将原始
数据进行分段,比如将1-10的数据分为4段,分别为1-3、3-5、5-7、7-9,第三段即为中位数为5,第四段上限(7)减去中位数(5)得2,即2/4=0.5,记为IQR(四分位差),然后对数据点执行以上算法,若
该点超出特定范围则认为为异常值,可以进行相应处理。

常用的数据统计方法检测异常值的方法有:箱形图法、Z-Score
检测法、信息熵法和模糊K-means聚类法。

箱形图法也称作离群点图,它通过画出箱形图,来显示出数据的
分布范围,可以对比判断数据里面是否存在异常点,并可以以折线图
的形式清楚的展示出来。

Z-Score检测法是基于标准差来进行异常检测,它可以将数据进
行正态分布,计算每个数据点和全体数据点的标准差,根据一定阈值,若超出此阈值则判定为异常值,否则为正常值。

信息熵法的原理是基于信息熵的定义,通过计算熵,根据熵的高
低来判断数据是否存在异常值。

模糊K-means聚类法是一种基于距离的聚类方法,它把数据点分
类到不同的组,根据离群指标的判断来确定是否存在异常值。

总之,数据统计方法检测异常值是一种有效的数据挖掘技术,它
可以帮助我们发现数据集中出现极端值或不正常值的变量,从而及时
处理数据,防止数据异常。

Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

Python数据分析之双⾊球统计两个红和蓝球哪组合⽐例⾼的⽅法本⽂实例讲述了Python数据分析之双⾊球统计两个红和蓝球哪组合⽐例⾼的⽅法。

分享给⼤家供⼤家参考,具体如下:统计两个红球和蓝球,哪个组合最多,显⽰前19组数据#!/usr/bin/python# -*- coding:UTF-8 -*-import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport operator#导⼊数据df = pd.read_table('newdata.txt',header=None,sep=',')tdate = sorted(df.loc[:,0])# print tdate#第1、2列的红球h1 = df.loc[:,1:2].values# print h1#第2、3列的红球h2 = df.loc[:,2:3].values#第3、4列的红球h3 = df.loc[:,3:4].values#第4、5列的红球h4 = df.loc[:,4:5].values#第5、6列的红球h5 = df.loc[:,5:6].values#蓝球b1 = df.loc[:,7:7].values# print b1#第1、3列红球h6 = df.loc[:,1:3:2].valuesh7 = df.loc[:,1:4:3].valuesh8 = df.loc[:,1:5:4].valuesh9 = df.loc[:,1:6:5].valuesh10 = df.loc[:,2:4:2].valuesh11 = df.loc[:,2:5:3].valuesh12 = df.loc[:,2:6:4].valuesh13 = df.loc[:,3:5:2].valuesh14 = df.loc[:,3:6:3].values#第4、6列红球h15 = df.loc[:,4:6:2].values#将蓝球添加到各红球组中(有2列数据变为3列数据),之后将所有数据按列向合并data2 = np.append(h1, b1, axis=1)for i in [h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15]:data1 = np.append(i, b1, axis=1)data2 = np.append(data2, data1, axis=0)print data2data1 = pd.DataFrame(data2)#写⼊到2hldata.csv⽂件中data1.to_csv('2hldata.csv',index=None,header=None)#读取⽂件,进⾏统计,并且从⼤倒⼩排序f = open("2hldata.csv")count_dict = {}for line in f.readlines():line = line.strip()count = count_dict.setdefault(line, 0)count += 1count_dict[line] = countsorted_count_dict = sorted(count_dict.iteritems(), key=operator.itemgetter(1), reverse=True)# for item in sorted_count_dict:# print "%s,%d" % (item[0], item[1])#重置DataFrame的indexfenzu = pd.DataFrame(sorted_count_dict).set_index([0])print fenzux = list(fenzu.index[:19])y = list(fenzu.values[:19])print xprint y#将index替换成数值,便于画图使⽤s = pd.Series(range(1,len(x)+1), index=x)plt.figure(figsize=(12,8),dpi=80)plt.legend(loc='best')plt.bar(s,y,alpha=.5, color='r',width=0.8)plt.title('The two red and one blue ball number')plt.xlabel('two red and one blue number')plt.ylabel('times')#将原来index的内容显⽰出来plt.xticks(s,x, rotation=30,size=10,ha='left')plt.show()显⽰结果:可以看出红球20、26和蓝球9以及红球17、21和蓝球14,出现次数最多12次后期的3红球和蓝球,4红球和蓝球,5红球和蓝球,6红球和蓝球的统计,基本思路⼀致。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python 基本数据 Basic data processing of Python 统计Department of Computer Science and TechnologyDepartment of University Basic Computer Teaching数据分析 4 数据描述 3 数据整理数据收集 12简单数据处理过程 2用Python玩转数据便捷数据获取本地数据如何获取?文件的打开,读写和关闭•文件打开•读文件写文件•文件关闭网络数据如何获取?抓取网页,解析网页内容•urllib•urllib2•httplib•httplib2yahoo财经数据6 /q/cp?s=%5EDJI+Component利用urllib库获取yahoo财经数据7 F ile# Filename: dji.pyimport urllibimport redStr = urllib.urlopen('/q/cp?s=%5EDJI+Components').read()m = re.findall('<tr><td class=\'yfnc_tabledata1\'><b><a href=\'.*?\'>\(.*?)</a></b></td><td class=\'yfnc_tabledata1\'>(.*?)</td>.*?<b>(.*?)</b>.*?</tr>', dStr)if m:print mprint'\n'print len(m)else:print'not match'数据形式8 •包含多个字符串(dji)–'AXP', 'American Express Company', '86.40'–'BA', 'The Boeing Company', '122.24'–'CAT', 'Caterpillar Inc.', '99.44'–'CSCO', 'Cisco Systems, Inc.', '23.78'–'CVX', 'Chevron Corporation', '115.91'–…是否能够简单方便并且快速的方式获得雅虎财经上各上市公司股票的历史数据?F ile# Filename: quotes.pyfrom matplotlib.finance import quotes_historical_yahoofrom datetime import dateimport pandas as pdtoday = date.today()start = (today.year-1, today.month, today.day)quotes = quotes_historical_yahoo('AXP', start, today)df = pd.DataFrame(quotes)print dfquotes的内容开盘价最高价最低价成交量日期收盘价便捷网络数据自然语言工具包NLTK •古腾堡语料库•布朗语料库 •路透社语料库 •网络和聊天文本 •…>>> from nltk.corpus import gutenberg >>> import nltk >>> print gutenberg.fileids() [u'austen-emma.txt', u'austen-persuasion.txt', u'austen-sense.txt', u'bible-kjv.txt', u'blake-poems.txt', u'bryant-stories.txt', u'burgess-busterbrown.txt', u'carroll-alice.txt', u'chesterton-ball.txt', u'chesterton-brown.txt', u'chesterton-thursday.txt', u'edgeworth-parents.txt', u'melville-moby_dick.txt', u'milton-paradise.txt',u'shakespeare-caesar.txt', u'shakespeare-hamlet.txt', u'shakespeare-macbeth.txt', u'whitman-leaves.txt']>>> texts = gutenberg.words('shakespeare-hamlet.txt') [u'[', u'The', u'Tragedie', u'of', u'Hamlet', u'by', ...]S ourcebrown 11用Python玩转数据数据准备数据形式30支成分股(dji)股票数据的逻辑结构公司代码公司名最近一次成交价美国运通公司(quotes)股票详细数据的逻辑结构日期开盘价收盘价最高价最低价成交量13quotes数据加属性名F ile# Filename: quotesproc.pyfrom matplotlib.finance import quotes_historical_yahoo from datetime import dateimport pandas as pdtoday = date.today()start = (today.year-1, today.month, today.day)quotes = quotes_historical_yahoo('AXP', start, today) fields = ['date','open','close','high','low','volume'] quotesdf = pd.DataFrame(quotes, columns = fields) print quotesdfdji数据:加属性名code name lasttrade AXPBACAT…XOMquotes数据:加属性名date open close high low volume 735190.0735191.0735192.0…735551.0用1,2,…作为索引quotesdf = pd.DataFrame(quotes, columns = fields)quotesdf = pd.DataFrame(quotes, index = range(1,len(quotes)+1),columns = fields)如果可以直接用date作为索引,quotes的时间能否转换成常规形式(如下图中的效果)?S ource>>> from datetime import date>>> firstday = date.fromordinal(735190)>>> lastday = date.fromordinal(735551)>>> firstdaydatetime.date(2013, 11, 18)>>> lastdaydatetime.date(2014, 11, 14)时间序列# Filename: quotesproc.pyfrom matplotlib.finance import quotes_historical_yahoo from datetime import date from datetime import datetime import pandas as pd today = date.today()start = (today.year-1, today.month, today.day)quotes = quotes_historical_yahoo('AXP', start, today) fields = ['date','open','close','high','low','volume'] list1 = [] for i in range (0,len (quotes)):x = date.fromordinal(int (quotes[i][0])) y = datetime.strftime(x,'%Y-%m-%d') list1.append(y)quotesdf = pd.DataFrame(quotes, index = list1, columns = fields) quotesdf = quotesdf.drop(['date'], axis = 1)print quotesdfFile转换成常规时间 转换成固定格式 删除原date 列18创建时间序列>>> import pandas as pd>>> dates = pd.date_range('20141001', periods=7) >>> dates<class 'pandas.tseries.index.DatetimeIndex'> [2014-10-01, ..., 2014-10-07]Length: 7, Freq: D, Timezone: None >>> import numpy as np>>> dates = pd.DataFrame(np.random.randn(7,3),index=dates,columns = list ('ABC')) >>> datesA B C 2014-10-01 1.302600 -1.214708 1.411628 2014-10-02 -0.512343 2.277474 0.403811 2014-10-03 -0.788498 -0.217161 0.173284 2014-10-04 1.042167 -0.453329 -2.107163 2014-10-05 -1.628075 1.663377 0.943582 2014-10-06 -0.091034 0.335884 2.455431 2014-10-07 -0.679055 -0.865973 0.246970 [7 rows x 3 columns]Source19用Python玩转数据数据显示djidf quotesdf>>> djidf.indexInt64Index([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], dtype='int64') >>> djidf.columnsIndex([u'code', u'name', u'lasttrade'], dtype='object') >>> dijdf.valuesarray([['AXP', 'American Express Company', '90.67'], ['BA', 'The Boeing Company', '128.86'], …['XOM', 'Exxon Mobil Corporation', '95.09']], dtype=object) >>> djidf.describe<bound method DataFrame.describe of code name lasttrade 0 AXP American Express Company 90.67 1 BA The Boeing Company 128.86 …29 XOM Exxon Mobil Corporation 95.09 Source显示方式:•显示索引 •显示列名 •显示数据的值 •显示数据描述>>> quotesdf.indexIndex([u'2013-11-18', u'2013-11-19', u'2013-11-20', u'2013-11-21', u'2013-11-22', u'2013-11-25', u'2013-11-26', u'2013-11-27', …-04-08', u'2014-04-09', u'2014-04-10', u'2014-04-11', ...], dtype='object')S ource索引的格式>>> djidf.head(5)code name lasttrade 0 AXP American Express Company 90.67 1 BA The Boeing Company 128.86 2 CAT Caterpillar Inc. 101.34 3 CSCO Cisco Systems, Inc. 26.32 4 CVX Chevron Corporation 116.32 [5 rows x 3 columns]>>> djidf.tail(5)code name lasttrade 25 UTX United Technologies Corporation 107.45 26 V Visa Inc. 248.84 27 VZ Verizon Communications Inc. 51.50 28 WMT Wal-Mart Stores Inc. 82.96 29 XOM Exxon Mobil Corporation 95.09 [5 rows x 3 columns]Sourcedf[:5] df[25:] 显示方式:•显示行−专用方式 −切片查看道琼斯工业股中前5只和后5只的股票基本信息?用Python玩转数据数据选择选择方式:•选择行•选择列•选择区域•筛选(条件选择)>>> quotesdf[u'2013-12-02':u'2013-12-06']open close high low volume 2013-12-02 85.092126 84.37 85.596624 84.241402 3620800 2013-12-03 83.976989 83.70 84.412256 83.294410 3546100 2013-12-04 83.303123 83.59 84.322031 82.857969 3579700 2013-12-05 83.362906 83.63 84.075156 83.244198 3677800 2013-12-06 84.663680 85.00 85.158268 84.426277 2666600[5 rows x 5 columns]S ource 选择方式:•选择行−切片 −索引美国运通公司2013年12月2日至2013年12月6日间的股票交易信息?>>> djidf['code'] 0 AXP 1 BA 2 CAT …29 XOMName: code, dtype: object >>> djidf.code 0 AXP 1 BA 2 CAT …29 XOMName: code, dtype: objectS ource 选择方式:•选择列−列名不支持djidf['code', 'lasttrade'] djidf['code':'lasttrade']道琼斯工业股公司代码?选择方式:•行、列−标签label(loc)>>> djidf.loc[1:5,]code name lasttrade1 BA The Boeing Company 128.862 CAT Caterpillar Inc. 101.343 CSCO Cisco Systems, Inc. 26.324 CVX Chevron Corporation 116.325 DD E. I. du Pont de Nemours and Company 70.80 [5 rows x 3 columns]>>> djidf.loc[:,['code','lasttrade']]code lasttrade0 AXP 90.671 BA 128.862 CAT 101.34…29 XOM 95.09[30 rows x 2 columns]S ource道琼斯工业股中标号是1至5的股票信息以及所有股票的代码和最近一次交易价?选择方式:•行和列的区域−标签label(loc)•单个值−at >>> djidf.loc[1:5,['code','lasttrade']] code lasttrade1 BA 128.862 CAT 101.343 CSCO 26.324 CVX 116.325 DD 70.80[5 rows x 2 columns]>>> djidf.loc[1,'lasttrade']'128.86‘>>> djidf.at[1,'lasttrade']'128.86'S ource道琼斯工业股中标号是1至5的股票代码和最近一次交易价?标号是1的股票的最近一次交易价?数据选择选择方式:•行、列和区域−用iloc(位置)•取某个值−iat >>> djidf.loc[1:5,['code','lasttrade']]code lasttrade1 BA 128.862 CAT 101.343 CSCO 26.324 CVX 116.325 DD 70.80S ource>>> djidf.iloc[1:6,[0,2]]code lasttrade1 BA 128.862 CAT 101.343 CSCO 26.324 CVX 116.325 DD 70.80S ource>>> djidf.loc[1,'lasttrade']'128.86'>>> djidf.at[1,'lasttrade']'128.86'S ource>>> djidf.iloc[1,2]'128.86'>>> djidf.iat[1,2]'128.86'S ource31数据选择>>> quotesdf[quotesdf.index >= u'2014-01-01']open close high low volume 2014-01-02 89.924438 88.49 90.102506 88.420751 5112000 2014-01-03 88.186377 88.77 89.106325 87.671998 3888500 2014-01-06 88.730000 88.73 89.274052 88.413460 2844700 …2014-03-28 89.531554 89.72 90.811002 89.263763 3138900 ... ... ... ... ... [221 rows x 5 columns]>>> quotesdf[(quotesdf.index >= u'2014-01-01') & (quotesdf.close >= 95)] open close high low volume 2014-06-09 94.532820 95.02 95.328216 94.105295 3825200 2014-06-18 94.204662 95.01 95.039827 93.538518 2454800 2014-07-03 95.031492 95.29 95.389426 94.673558 1633800 [3 rows x 5 columns] S ource美国运通公司2014年的股票信息?进一步寻找美国运通公司2014年收盘价大于等于95的记录?选择方式:•条件筛选32用Python玩转数据简单统计与处理简单统计与筛选>>> djidf.mean(columns = 'lasttrade') lasttrade 91.533667 dtype: float64>>> djidf[sttrade >= 120].name1 The Boeing Company 8 The Goldman Sachs Group, Inc. 10 International Business Machines Corporation 16 3M Company 26 Visa Inc. Name: name, dtype: objectSource求道琼斯工业股中30只股票最近一次成交价的平均值?股票最近一次成交价大于等于120的公司名?34简单统计与筛选>>> len (quotesdf[quotesdf.close > quotesdf.open]) 131>>> len (quotesdf)-131 120S ource 统计美国运通公司近一年股票涨和跌分别的天数? 统计美国运通公司近一年相邻两天收盘价的涨跌情况?>>> status = np.sign(np.diff(quotesdf.close)) >>> statusarray([ 1., -1., 1., -1., 1., 1., 1., 1., -1., -1., -1., 1., 1., …-1., -1., -1.])>>> status[np.where( status == 1.)].size 130>>> status[np.where( status == -1.)].size 120S ource 35排序>>> djidf.sort(columns = 'lasttrade')code name lasttrade 3 CSCO Cisco Systems, Inc. 26.32 7 GE General Electric Company 26.46 20 PFE Pfizer Inc. 30.34 11INTC Intel Corporation 33.95 …8 GS The Goldman Sachs Group, Inc. 189.98 26 V Visa Inc. 248.84 [30 rows x 3 columns]>>> djidf.sort(columns = 'lasttrade')[27:].name 10 International Business Machines Corporation 8 The Goldman Sachs Group, Inc. 26 Visa Inc. Name: name, dtype: objectS ource按最近一次成交价对30只道琼斯工业股股票进行排序。

相关文档
最新文档