Pandas 数据科学速查表 Python
什么是 Pandas Cheat Sheet?
Pandas 库有很多函数,但其中一些函数对某些人来说很令人困惑。我们在这里提供了一个有用的资源,称为 Python Pandas 备忘单。它以简单而简洁的方式解释了 Pandas 的基础知识。
无论您是新手还是 Pandas 的老手,此速查表都可以作为实用的参考指南。它涵盖了各种主题,包括使用 Series 和 DataFrame 数据结构、选择和排序数据以及将函数应用于数据。
总结一下,这个 Pandas Python 对于想要详细了解如何使用的人来说,Cheat Sheet 是一个很好的资源 Python 数据科学。这是一个方便的参考工具。它可以帮助你提高你的 数据分析能力 并与 Pandas 更有效地合作。
解释 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