【Pandas学习笔记01】强大的分析结构化数据的工具集

恒生LIGHT云社区 2021-11-25 15:50:41
Python 数据分析 pandas

作者:幻好

来源:恒生LIGHT云社区

背景简介

在进行量化分析的过程中,总是需要使用大量的数据基础,对数据之间的关联进行挖掘,最终找到我们需要的数据。只通过Python进行数据分析是非常复杂的,有没有更简单的工具帮助我们能够高效快捷的帮助我们分析数据呢?

今天就介绍下Pandas-一个强大的分析结构化数据的工具集。

本文主要正对有一定 Python 语法基础的同学,需要学习 Python 的同学可以在社区寻找教程进行充电( https://developer.hs.net/cour...)。

 title=

基本概念

Pandas 库是一个免费、开源的第三方 Python 库,是 Python 数据分析必不可少的工具之一,它为 Python 数据分析提供了高性能,且易于使用的数据结构,即 Series 和 DataFrame。

Pandas 使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。

Pandas 库基于 Python NumPy 库开发而来,因此,它可以与 Python 的科学计算库配合使用。

Pandas 自诞生后被应用于众多的领域,比如金融、统计学、社会科学、建筑工程等。

通过以上的介绍,想必大家对于Pandas是干啥的,能有个基本的了解。pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。

数据结构

DataFrame

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

 title=

DataFrame 构造方法如下:

pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

  • data:一组数据(ndarray、series, map, lists, dict 等类型)。
  • index:索引值,或者可以称为行标签。
  • columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
  • dtype:数据类型。
  • copy:拷贝数据,默认为 False。

Series

Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

 title=

Series 由索引(index)和列组成,函数如下:

pandas.Series( data, index, dtype, name, copy)

参数说明:

  • data:一组数据(ndarray 类型)。
  • index:数据索引标签,如果不指定,默认从 0 开始。
  • dtype:数据类型,默认会自己判断。
  • name:设置名称。
  • copy:拷贝数据,默认为 False。

快速上手

引入组件

引入 Pandas 的组件到代码中:

import pandas as pd

如果引入不到,说明环境配置有问题或者你压根就没下载,通过以下方式下载组件:

pip install Pandas

Series对象操作

通过 Series() 函数来创建 Series 对象,通过这个对象可以调用相应的方法和属性:

import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print (s)

DataFrame对象操作

通过 DataFrame() 创建对象的语法格式如下:

import pandas as pd
data = [1,2,3,4,5]
df = pd.DataFrame(data)
print(df)

读取文件数据

可以通过 read_csv() 函数对本地 .csv格式文件进行读取:

data = pd.read_csv('file.csv')
data = pd.read_csv('file.csv', nrows=1000, skiprows=[1,5], encoding= gbk)

参数含义:

  • 'file.csv' : 表示读取文件名,可加入系统位置进行读取
  • nrows :表示读取前多少行数据
  • skiprows : 表示读取文件的时候会自动跳过不读行数。
  • encoding : 表示读取文件的编码格式

read_csv ,类似的方法还有 read_excel 读取Excel文件数据。

写入文件数据

Pandas 提供的 to_csv() 函数用于将 DataFrame 转换为 CSV 数据。如果想要把 CSV 数据写入文件,只需向函数传递一个文件对象即可。否则,CSV 数据将以字符串格式返回。

data.to_csv(‘my_new_file.csv’, index=None)

参数含义:

  • index : 表示是否需要添加索引,默认会自动添加索引

to_csv ,类似的方法还有 to_excel 写入Excel文件数据。

总结

本文主要介绍 Pandas 工具集的基础知识,学习 Pandas 能帮助我们快速处理和分析数据,后续会继续会更新实用操作,敬请期待。

版权声明
本文为[恒生LIGHT云社区]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000041017024

  1. Using Python 3 to make practical software for drawing modification
  2. About HTML (acceptable to Python)
  3. Python集成學習:自己編寫構建AdaBoost分類模型可視化决策邊界及sklearn包調用比較
  4. PYTHON用LSTM長短期記憶神經網絡的參數優化方法預測時間序列洗發水銷售數據
  5. Python Integrated Learning: Writing and Constructing adaboost Classification Model Visualized decision Boundary and sklearn package Calling Comparison
  6. Python prédit les données de vente de shampooing de séries chronologiques en utilisant la méthode d'optimisation des paramètres du réseau neuronal de mémoire à court et à long terme lstm
  7. [zero basics of Python to introduction] a prerequisite for Python preparatory knowledge -- basic coding specification of Python
  8. OpenCV对比度亮度变换竟能用来去水印(附Python/C++源码)
  9. [zero basics of Python to getting started] a prerequisite for Python preparatory knowledge -- installing the visualization tool pycharm
  10. The test modifies main.py in micro python
  11. Microphoton experimental circuit board based on mm32f3273 - does not work normally
  12. Run micropathon on mm32f3273 to test performance
  13. Design mm32f3277 micro Python experimental board with SD card
  14. Mm32f3277 corresponding interface files during microphoton migration
  15. Mm32f3277 microphoton experimental board design and software testing
  16. Making and testing mm32f3277 microphoton minimum circuit board
  17. Download mm32-link program automatically with Python simulated mouse
  18. A curriculum of "artificial intelligence Python machine learning and deep learning"
  19. Test the basic functions of mm32 microphoton test circuit board
  20. Test the basic functions of the mm32f3277 micro Python development board flying one by one
  21. Debugging mm32f3277 from zhufei, transplanted with micro Python development board
  22. Recognizing numbers using OpenCV and python
  23. 真的太香了,Python速查表终于出中文版了
  24. Django REST Framework(DRF)教程:快速入门
  25. python django objects filter过滤查询:startswith year
  26. Data encapsulation of Excel test cases in Python
  27. 学员管理系统python
  28. 肝了一夜,8000字概括精髓,pandas必知必会50例!
  29. Python竟然可以画漫画!漫画版的故宫导游图,来袭!
  30. Networkx graph theory Dijkstra algorithm shortest path implementation, Python
  31. Draw a HelloWorld with Python turtle Library
  32. 运行django的服务器内存使用偶尔跳高一点,重启服务马上下来,是内存泄露吧
  33. Basic usage of Python tqdm module in machine learning training
  34. Python -- basic usage method and basic template of argparse module
  35. python-sockertserver并发编程思想
  36. Programmation simultanée du serveur de sockets Python
  37. Vue+Django 旅游网项目 首页前端实现
  38. [learning notes] Python - pyecarts
  39. Python automated operation and maintenance -- actual combat (I)
  40. Classic usage of pandas: iloc and LOC of data filtering
  41. Python 多分支语句的三种结构
  42. Calendar module of Python time series
  43. Python 输出指定范围的闰年
  44. A super easy to use Python standard library. It's great to operate directories and files
  45. Fatal Python error: init_ fs_ encoding: failed to get the Python codec of the filesystem encoding
  46. Using Python to obtain a video address is as simple as
  47. #yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python
  48. Yyds Dry Inventory # 6. Python tuples, invariant List, snowball Learning Python
  49. You cannot enter the registration page using Django registration redux
  50. 笨办法学Python第十八天:更多文件操作
  51. Python编辑代码,帮个忙呗
  52. pandas转换object为int失败了,有人能解答吗
  53. python解释题,解释这串,所代表的意思
  54. 用python用while语句写1000以内能被5和9整除的数和个数
  55. #python 我写了一个“饭店”程序
  56. Comprehensive application of Python foundation -- Development
  57. Écrivez en python le nombre et le nombre d'entiers qui peuvent être divisés par 5 et 9 jusqu'à 1000 dans une instruction while
  58. You can learn Python articles without reading online classes (day 4)
  59. You can learn Python articles without reading online classes (the third day)
  60. You can learn Python articles without reading online classes (the next day)