c++控制台应用每一列数据如何对齐_数据科学 | Pandas数据分析入门

Pandas数据处理实战
本文介绍Pandas这一强大工具在数据处理中的应用,包括数据清洗、转换及分析等核心技能。Pandas能有效应对诸如重复数据、缺失值等问题,并提供灵活的数据结构如Series和DataFrame,便于进行统计分析和数据准备。

『运筹OR帷幄』原创

作者:佘亮

编者按:

数据处理是数据分析的核心部分,通过爬虫或者实际生产过程中初步获取的数据通常具有很多的“垃圾数据”,比如重复数据或者值缺失,不连续数据等等。这时就需要对数据首先进行筛选,补全等“清洗”操作。

数据处理是数据分析的核心部分,通过爬虫或者实际生产过程中初步获取的数据通常具有很多的“垃圾数据”,比如重复数据或者值缺失,不连续数据等等。这时就需要对数据首先进行筛选,补全等“清洗”操作。除此之外,“清洗”好的数据也需要根据不同的用途来进行转换,以适应分析,预测或者可视化的需求。

数据的处理的软件包有很多,在python中主要应用Pandas来进行处理。Pandas是一个十分成熟的数据处理包,熟练掌握可以高效并且方便地将数据进行转换和清洗,本节主要整理了pandas的一些基本技能和实用技巧,为励志成为数据分析师的你铺路搭桥。

以下是本教程的总体提纲,这篇文章首先对pandas的基本操作进行介绍,其他内容敬请期待后续的文章。另附上我征稿通知的链接:数据科学 | 『运筹OR帷幄』数据分析、可视化、爬虫系列教程征稿

一 数据分析相关python包介绍

  • 常用数据分析库NumPy, Pandas, SciPy, statssmodels, scikit-learn, NLTK的简介与安装
  • 数据分析开发环境搭建

二 数据的导入与导出

  • 读取csv数据
  • 读取mysql数据

三 数据提取与筛选

  • 常见的数据格式与形态
  • Python对不同形式数据的读写

四 数据清洗处理

  • 如何对数据进行清洗
  • Pandas基本数据结构与功能
  • Pandas统计相关功能
  • Pandas缺失数据处理
  • Pandas层次化索引
  • Pandas DataFrame

五 高性能科学计算和数据分析的基础包Numpy

  • NumPy的性能优势
  • 数组对象处理
  • 文件输入输出
  • 线性代数相关功能
  • 高效操作实践

六 统计分析

  • 线性回归
  • 逻辑回归
  • SVM
  • K紧邻算法
  • 神经网络
  • 机器学习库Scikit-Learn与应用
  • 使用NLTK进行Python文本分析
  • Python深度学习keras入门

Pandas入门

Pandas 是基于 NumPy 的一个开源 Python 库,它被广泛用于数据分析,以及数据清洗和准备等工作。数据科学家经常和表格形式的数据(比如.csv、.tsv、.xlsx)打交道。Pandas可以使用类似SQL的方式非常方便地加载、处理、分析这些表格形式的数据。搭配Matplotlib和Seaborn效果更好。

pandas可以满足以下需求:

  • 具备按轴自动或显式数据对齐功能的数据结构。这可以防止许多由于数据未对齐以及来自不同数据源(索引方式不同)的数据而导致的常见错误、集成时间序列功能、既能处理时间序列数据也能处理非时间序列数据的数据结构、数学运算和简约(比如对某个轴求和)可以根据不同的元数据(轴编号)执行、
  • 灵活处理缺失数据、
  • 在实际构建任何模型之前,任何机器学习项目中的大量时间都必须花费在准备数据、
  • 分析基本趋势和模式上。因此需要Pandas来进行处理。

下面我们开始今天的学习之旅。

Pandas的安装与导入

首先,在使用Pandas前,必须安装Pandas。如果你安装过Anaconda,就可以执行如下命令安装Pandas:

conda install pandas

如果没有安装Anaconda,也没有关系,可以使用Python的pip命令来安装:

pip install pandas

注意:pandas安装会用到numpy库,因此在安装pandas之前一定要安装好numpy。

导入:为了简便,这里使用pd作为pandas的缩写,因为pandas依赖numpy,所以在使用之前需要安装和导入numpy

import numpy as np

import pandas as pd

打印pandas的版本

pd.__version__

考虑如下的Python字典数据和Python列表标签:

data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],

'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],

'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],

'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

Pandas数据结构介绍

Pandas有两个数据结构:Series和DataFrame。

  • Series是一种类似于以为NumPy数组的对象,它由一组数据(各种NumPy数据类型)和与之相关的一组数据标签(即索引)组成的。可以用index和values分别规定索引和值。如果不规定索引,会自动创建 0 到 N-1 索引。
b361b66f7ce74fc6ece5a3dbf9eda11e.png
  • DataFrame是一种表格型结构,含有一组有序的列,每一列可以是不同的数据类型。既有行索引,又有列索引。
24b7137c1221b017417eefa5a03b69e5.png

pd.DataFrame:创建pandas矩阵

pd.Series 创建pandas列表

1.从具有索引标签的字典数据创建一个DataFrame df.

df = pd.DataFrame(data,index = labels)

返回DataFrame的前三行

df.iloc[:3]

df.head(3)

运行结果如下:

0ff7bde6230a34bc31ee40fce85d815f.png

2.从numpy 数组构造DataFrame

df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),columns=['a', 'b', 'c'])

df2

运行结果如下

ea9b1f0a5ce27787b1116029f7d5f207.png

3.通过其他DataFrame来创建DataFrame df3

df3 = df2[["a

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值