python数据分析-pandas基础(1)

简介: pandas是处理结构化(表格数据)最常用的工具,是python数据分析和数据处理的最成熟的库。pandas最早是为了处理金融数据而开发的,开放到社区至今,已经广泛应用于各个领域中;pandas以numpy为基础,而pandas是其他应用的数据基础,如Scikit-learn等。

1. 什么是pandas?

pandas是处理结构化(表格数据)最常用的工具,是python数据分析和数据处理的最成熟的库。pandas最早是为了处理金融数据而开发的,开放到社区至今,已经广泛应用于各个领域中;pandas以numpy为基础,而pandas是其他应用的数据基础,如Scikit-learn等。

如果你想;

  • 快速地进行数据的统计分析
  • 像数据库一样做多数据之间的关联
  • 快速地预处理数据(删除脏数据,空数据,数据转换,缺失值处理)
  • 像Excel一样的做多维的数据透视,数据分组汇总统计
  • 绘制统计图表
  • 进行数据挖掘
  • and so on

你需要掌握pandas!

yyq-2022-11-16-22-48-31.png

pip install pandas
import pandas as pd
from pandas import Series, DataFrame

2. pandas数据结构

我们先来看看pandas的三大数据结构:Series、DataFrame和Index

2.1 Series

Series可以认为是一个一维数组, 但是和数组只有位置索引不同,Series可以有不同的索引。

import pandas as pd
import numpy as np
from pandas import Series, DataFrame
series = Series([12, 21, 31], index=['a', 'b', 'c'], dtype=np.int32, name="age")

# a    12
# b    21
# c    31
# Name: age, dtype: int32

从上可知,Series组成:

  • 数据项
  • 索引index, 默认为位置索引,即0到N-1
  • 数据类型dtype,不指定pandas会自动判断
  • 数据名称name

Series有哪些属性和操作

  • 获取属性:数据项values 和索引index 名称name

    # array([12, 21, 31])
    series.values
    
    # Index(['a', 'b', 'c'], dtype='object')
    series.index
    
    # age
    series.name
    
    # dtype('int32')
    series.dtype
  • 按照索引获取指定数据

    series[0], series['b']
    # 12 21
  • 查询数据和运算

    series[series > 20]
    # b    21
    # c    31
    # Name: age, dtype: int32
s2 = series * 2
# a    24
# b    42
# c    62
# Name: age, dtype: int32

s3 = np.log1p(series)

# a    2.564949
# b    3.091042
# c    3.465736
# Name: age, dtype: float64

```

总结下, Series是按索引组织有序有类型的一维数组。

2.2 DataFrame

DataFrame可以理解为一个或者多个Series组成的表格型的二维结构的数据。

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
        'year': [2000, 2001, 2002, 2001, 2002, 2003],
        'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
frame = pd.DataFrame(data)

frame.info()
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 6 entries, 0 to 5
# Data columns (total 3 columns):
# state    6 non-null object
# year     6 non-null int64
# pop      6 non-null float64
# dtypes: float64(1), int64(1), object(1)
# memory usage: 224.0+ bytes

yyq-2022-11-16-23-30-49.png

可以通过info()函数清楚的了解DataFrame组成:索引RangeIndex、数据列Data columns和数据类型。有属性来方便获取相应的值。

# RangeIndex(start=0, stop=6, step=1)
frame.index

# Index(['state', 'year', 'pop'], dtype='object')
frame.columns

DataFrame的每一行和每一列都是Series, 可以按行和按列访问数据

frame['state']

# 0      Ohio
# 1      Ohio
# 2      Ohio
# 3    Nevada
# 4    Nevada
# 5    Nevada
# Name: state, dtype: object

frame.loc[0]
# state    Ohio
# year     2000
# pop       1.5
# Name: 0, dtype: object

frame.loc[0][1]
# 2000

DataFrame是非常重要的结构,更多的操作我们在后续陆续分享。

2.3 Index

从Series和DataFrame中都可以看到Index的身影,可以说Series和DataFrame都是带索引的数据结构。

如果你对结构化数据库如Oracle、Mysql有了解化,索引是一个重要的高效访问的方式。对于Series和DataFrame来说同样也是。

Series和DataFrame的索引和数据库索引一样,是允许重复值的。

比如设置state列为索引

frame.set_index('state')
# year    pop
# state        
# Ohio    2000    1.5
# Ohio    2001    1.7
# Ohio    2002    3.6
# Nevada    2001    2.4
# Nevada    2002    2.9
# Nevada    2003    3.2

yyq-2022-11-16-23-47-22.png

今天我们分享了关于pandas的基础结构:Series、DataFrame和Index,希望对你有帮助。

目录
相关文章
|
27天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
56 3
|
1月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
88 4
数据分析的 10 个最佳 Python 库
|
1月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
1月前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。
|
1月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习