Pandas 数据科学速查表 Python

熊猫备忘单

什么是 Pandas Cheat Sheet?

Pandas 库有很多函数,但其​​中一些函数对某些人来说很令人困惑。我们在这里提供了一个有用的资源,称为 Python Pandas 备忘单。它以简单而简洁的方式解释了 Pandas 的基础知识。

无论您是新手还是 Pandas 的老手,此速查表都可以作为实用的参考指南。它涵盖了各种主题,包括使用 Series 和 DataFrame 数据结构、选择和排序数据以及将函数应用于数据。

总结一下,这个 Pandas Python 对于想要详细了解如何使用的人来说,Cheat Sheet 是一个很好的资源 Python 数据科学。这是一个方便的参考工具。它可以帮助你提高你的 数据分析能力 并与 Pandas 更有效地合作。

👉 点击此处下载 PDF 版备忘单

解释 Pandas 中的重要功能:

要开始使用 pandas 函数,您需要安装并导入 pandas。有两个命令可以执行此操作:

步骤 1)# 安装 Pandas

Pip 安装 pandas

步骤 2)# 导入 Pandas

将 pandas 导入为 pd

现在,您可以开始使用 Pandas 函数。我们将努力操作、分析和清理数据。以下是 Pandas 的一些重要功能。

Pandas 数据结构

我们已经讨论过,Pandas 有两种数据结构,分别称为 Series 和 DataFrames。两者都是标记数组,可以保存任何数据类型。唯一的区别是 Series 是一维数组,而 DataFrame 是二维数组。

1.系列

它是一个一维标记数组。它可以保存任何数据类型。

s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])

2. 数据框

它是一个二维标记数组。它可以保存任意数据类型和不同大小的列。

data = {'RollNo' : [101, 102, 75, 99],
        'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
        'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()

熊猫备忘单

导入数据

Pandas 能够导入或读取 Notebook 中的各种类型的文件。

下面给出一些示例。

# Import a CSV file pd
pd.read_csv(filename)

# Import a TSV file
pd.read_table(filename)

# Import a Excel file pd
pd.read_excel(filename)

# Import a SQL table/database
pd.read_sql(query, connection_object)

# Import a JSON file
pd.read_json(json_string)

# Import a HTML file
pd.read_html(url)

# From clipboard to read_table()
pd.read_clipboard()

# From dict
pd.DataFrame(dict)

选择

您可以按位置或索引选择元素。您可以使用这些技术选择行、列和不同的值。

1.系列

# Accessing one element from Series
s['D']

# Accessing all elements between two given indices
s['A':'C']

# Accessing all elements from starting till given index
s[:'C']

# Accessing all elements from given index till end
s['B':]

2. 数据框

# Accessing one column df
df['Name']

# Accessing rows from after given row
df[1:]

# Accessing till before given row
df[:1]

# Accessing rows between two given rows
df[1:2]

通过布尔索引和设置进行选择

1. 按位置

df.iloc[0, 1]

df.iat[0, 1]

2. 按标签

df.loc[[0],  ['Name']]

3. 按标签/位置

df.loc[2] # Both are same
df.iloc[2]

4.布尔索引

# Series s where value is > 1
s[(s > 0)]

# Series s where value is <-2 or >1
s[(s < -2) | ~(s > 1)]

# Use filter to adjust DataFrame
df[df['RollNo']>100]

# Set index a of Series s to 6
s['D'] = 10
s.head()

数据清理

对于 Python 数据清理备忘单的目的,您可以执行以下操作:

  • 使用 rename() 方法重命名列。
  • 使用 at[] 或 iat[] 方法更新值以访问和修改特定元素。
  • 使用 copy() 方法创建 Series 或数据框的副本。
  • 使用 isnull() 方法检查 NULL 值,并使用 dropna() 方法删除它们。
  • 使用 duplicated() 方法检查重复值。使用 drop_duplicates() 方法删除它们。
  • 使用 fill () 方法将 NULL 值替换为指定的值。
  • 使用 replace() 方法替换值。
  • 使用 sort_values() 方法对值进行排序。
  • 使用 rank() 方法对值进行排序。
# Renaming columns
df.columns = ['a','b','c']
df.head()

# Mass renaming of columns
df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'})

# Or use this edit in same DataFrame instead of in copy
df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True)
df.head()

# Counting duplicates in a column
df.duplicated(subset='Name')

# Removing entire row that has duplicate in given column
df.drop_duplicates(subset=['Name'])

# You can choose which one keep - by default is first
df.drop_duplicates(subset=['Name'], keep='last')

# Checks for Null Values
s.isnull()

# Checks for non-Null Values - reverse of isnull()
s.notnull()

# Checks for Null Values df
df.isnull()

# Checks for non-Null Values - reverse of isnull()
df.notnull()

# Drops all rows that contain null values
df.dropna()

# Drops all columns that contain null values
df.dropna(axis=1)

# Replaces all null values with 'Guru99'
df.fillna('Guru99')

# Replaces all null values with the mean
s.fillna(s.mean())

# Converts the datatype of the Series to float
s.astype(float)

# Replaces all values equal to 6 with 'Six'
s.replace(6,'Six')

# Replaces all 2 with 'Two' and 6 with 'Six'
s.replace([2,6],['Two','Six'])

# Drop from rows (axis=0)
s.drop(['B',  'D'])

# Drop from columns(axis=1)
df.drop('Name', axis=1)

# Sort by labels with axis
df.sort_index()

# Sort by values with axis
df.sort_values(by='RollNo')

# Ranking entries
df.rank()

# s1 is pointing to same Series as s
s1 = s

# s_copy of s, but not pointing same Series
s_copy = s.copy()

# df1 is pointing to same DataFrame as df
df1 = s

# df_copy of df, but not pointing same DataFrame
df_copy = df.copy()

检索信息

您可以执行以下操作来检索信息:

  • 使用shape属性来获取行数和列数。
  • 使用 head() 或 tail() 方法获取前几行或最后几行作为样本。
  • 使用 info()、describe() 或 dtypes 方法获取有关数据类型、计数、平均值、标准差、最小值和最大值的信息。
  • 使用 count()、min()、max()、sum()、mean() 和 median() 方法获取值的特定统计信息。
  • 使用 loc[] 方法获取一行。
  • 使用 groupby() 方法应用 GROUP BY 函数对 DataFrame 列中的相似值进行分组。

1。 基本信息

# Counting all elements in Series
len(s)

# Counting all elements in DataFrame
len(df)

# Prints number of rows and columns in dataframe
df.shape

# Prints first 10 rows by default, if no value set
df.head(10)

# Prints last 10 rows by default, if no value set
df.tail(10)

# For counting non-Null values column-wise
df.count()

# For range of index df
df.index

# For name of attributes/columns
df.columns

# Index, Data Type and Memory information
df.info()

# Datatypes of each column
df.dtypes

# Summary statistics for numerical columns
df.describe()

2。 总结

# For adding all values column-wise
df.sum()

# For min column-wise
df.min()

# For max column-wise
df.max()

# For mean value in number column
df.mean()

# For median value in number column
df.median()

# Count non-Null values
s.count()

# Count non-Null values
df.count()

# Return Series of given column
df['Name'].tolist()

# Name of columns
df.columns.tolist()

# Creating subset
df[['Name', 'Course']]

# Return number of values in each group
df.groupby('Name').count()

应用函数

# Define function
f = lambda x: x*5

# Apply this function on given Series - For each value
s.apply(f)

# Apply this function on given DataFrame - For each value
df.apply(f)

1. 内部数据对齐

# NA values for indices that don't overlap
s2 = pd.Series([8, -1, 4],  index=['A',  'C',  'D'])
s + s2

2. 算术 Opera系统蒸发散与填充方法

# Fill values that don't overlap
s.add(s2, fill_value=0)

3. 筛选、排序和分组

以下函数可用于按 Series 和 DataFrame 进行过滤、排序和分组。

# Filter rows where column is greater than 100
df[df['RollNo']>100]

# Filter rows where 70 < column < 101
df[(df['RollNo'] > 70) & (df['RollNo'] < 101)]

# Sorts values in ascending order
s.sort_values()

# Sorts values in descending order
s.sort_values(ascending=False)

# Sorts values by RollNo in ascending order
df.sort_values('RollNo')

# Sorts values by RollNo in descending order
df.sort_values('RollNo', ascending=False)

汇出资料

Pandas 能够以多种格式导出或写入数据。下面给出了一些示例。

# Export as a CSV file df
df.to_csv(filename)

# Export as a Excel file df
df.to_excel(filename)

# Export as a SQL table df
df.to_sql(table_name, connection_object)

# Export as a JSON file
df.to_json(filename)

# Export as a HTML table
df.to_html(filename)

# Write to the clipboard
df.to_clipboard()

Pandas 备忘单结论:

熊猫 是开源库 Python 用于处理数据集。它能够分析、清理、探索和操作数据。Pandas 建立在 Numpy 之上。它与其他程序(如 Matplotlib 和 Scikit学习。它涵盖了数据结构、数据选择、导入数据、布尔索引、删除值、排序和数据清理等主题。我们还为本文准备了 pandas 备忘单 pdf。Pandas 是一个 Python 数据科学使用此库来处理 pandas 数据框和序列。我们在本备忘单中讨论了各种 pandas 命令。

Colab 的 Cheat Sheet

我的 Pandas Colab 练习文件 – Pandas 备忘单 – Python 用于数据科学.ipynb