快速介绍Python数据分析库pandas的基础知识和代码示例(一)

简介: 快速介绍Python数据分析库pandas的基础知识和代码示例

“软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点。”

640.jpg

为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化。我创建了这个pandas函数的备忘单。这不是一个全面的列表,但包含了我在构建机器学习模型中最常用的函数。让我们开始吧!

本附注的结构:

  • 导入数据
  • 导出数据
  • 创建测试对象
  • 查看/检查数据
  • 选择查询
  • 数据清理
  • 筛选、排序和分组
  • 统计数据

首先,我们需要导入pandas开始:

import pandas as pd

导入数据

使用函数pd.read_csv直接将CSV转换为数据格式。

注意:还有另一个类似的函数pd。read_excel用于excel文件。

# Load data
df = pd.read_csv('filename.csv') # From a CSV file
df = pd.read_excel('filename.xlsx') # From an Excel file

导出数据

to_csv()将数据存储到本地的文件。我们可以通过df[:10].to_csv()保存前10行。我们还可以使用df.to_excel()保存和写入一个DataFrame到Excel文件或Excel文件中的一个特定表格。

df.to_csv('filename.csv') # Write to a CSV file
df.to_excel('filename.xlsx') # Write to an Excel file

创建测试对象

从输入的数据建立一个DataFrame

# Build data frame from inputted data
df = pd.DataFrame(data = {'Name': ['Bob', 'Sally', 'Scott', 'Katie'],
  'Physics': [68, 74, 77, 78],
  'Chemistry': [84, 100, 73, 90],
  'Algebra': [78, 88, 82, 87]})

640.png

或者从列表中创建一个series

# Create a series from an iterable my_list
my_list = [['Bob',78],
          ['Sally',91],
          ['Scott',62],
          ['Katie',78],
          ['John',100]]
df1 = pd.Series(my_list) # Create a series from an iterable my_list

640.png

查看/检查数据

head():显示DataFrame中的前n条记录。我经常把一个数据档案的最上面的记录打印在我的jupyter notebook上,这样当我忘记里面的内容时,我可以回头查阅。

df.head(3) # First 3 rows of the DataFrame

640.png

tail():返回最后n行。这对于快速验证数据非常有用,特别是在排序或附加行之后。

df.tail(3) # Last 3 rows of the DataFrame

640.png

添加或插入行

要向DataFrame追加或添加一行,我们将新行创建为Series并使用append()方法。

在本例中,将新行初始化为python字典,并使用append()方法将该行追加到DataFrame。

在向append()添加python字典类型时,请确保传递ignore_index=True,以便索引值不会被使用。生成的轴将被标记为编号series0,1,…, n-1,当连接的数据使用自动索引信息时,这很有用。

append() 方法的作用是:返回包含新添加行的DataFrame。

#Append row to the dataframe, missing data (np.nan)
new_row = {'Name':'Max', 'Physics':67, 'Chemistry':92, 'Algebra':np.nan}
df = df.append(new_row, ignore_index=True)

640.png

向DataFrame添加多行

# List of series  
list_of_series = [pd.Series(['Liz', 83, 77, np.nan], index=df.columns),
                pd.Series(['Sam', np.nan, 94,70], index=df.columns ),
                pd.Series(['Mike', 79,87,90], index=df.columns),
                pd.Series(['Scott', np.nan,87,np.nan], index=df.columns),]
# Pass a list of series to the append() to add multiple rows
df = df.append(list_of_series , ignore_index=True)
640.png


我们也可以添加新的列

# Adding a new column to existing DataFrame in Pandas
sex = ['Male','Female','Male','Female','Male','Female','Female','Male','Male']
df['Sex'] = sex

640.png

info()函数用于按列获取标题、值的数量和数据类型等一般信息。一个类似但不太有用的函数是df.dtypes只给出列数据类型。

df.info() #Index, Datatype and Memory information

640.png

# Check data type in pandas dataframe
df['Chemistry'].dtypes
>>> dtype('int64')# Convert Integers to Floats in Pandas DataFrame
df['Chemistry'] = df['Chemistry'].astype(float)
df['Chemistry'].dtypes
>>> dtype('float64')# Number of rows and columns
df.shape
>>> (9, 5)

value_counts()函数的作用是:获取一系列包含唯一值的计数。

# View unique values and counts of Physics column
df['Physics'].value_counts(dropna=False)

640.png

选择

在训练机器学习模型时,我们需要将列中的值放入X和y变量中。

df['Chemistry'] # Returns column with label 'Chemistry' as Series

640.png

df[['Name','Algebra']] # Returns columns as a new DataFrame

640.png

df.iloc[0] # Selection by position

640.png

df.iloc[:,1] # Second column 'Name' of data frame

640.png

df.iloc[0,1] # First element of Second column
>>> 68.0
目录
相关文章
|
21天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
63 4
数据分析的 10 个最佳 Python 库
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
41 2
|
28天前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
1月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
1月前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
14天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
12天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
19天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
131 59
|
13天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
38 10