15个基本且常用Pandas代码片段

简介: Pandas提供了强大的数据操作和分析功能,是数据科学的日常基本工具。在本文中,我们将介绍最常用的15个Pandas代码片段。这些片段将帮助简化数据分析任务,从数据集中提取有价值的见解。

Pandas提供了强大的数据操作和分析功能,是数据科学的日常基本工具。在本文中,我们将介绍最常用的15个Pandas代码片段。这些片段将帮助简化数据分析任务,从数据集中提取有价值的见解。

1、过滤数据

Pandas提供了多种方法来过滤数据。

 import pandas as pd

 # Create a DataFrame
 data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
         'Age': [25, 30, 35, 40]}

 df = pd.DataFrame(data)

 # Filter rows where Age is greater than 30
 filtered_df = df[df['Age'] > 30]
 print(filtered_df)

2、分组和聚合数据

 # Grouping by a column and calculating the mean
 grouped = df.groupby('Age').mean()
 print(grouped)

3、数据缺失值

 # Check for missing values
 missing_values = df.isnull().sum()

 # Fill missing values with a specific value
 df['Age'].fillna(0, inplace=True)

4、将函数应用于列

apply()

函数允许在 DataFrame 的行或列上应用自定义函数,以实现更复杂的数据处理和转换操作。

 df['Age'] = df['Age'].apply(lambda x: x * 2)

5、连接DataFrames

这里的连接主要是行的连接,也就是说将两个相同列结构的DataFrame进行连接

 # Concatenate two DataFrames
 df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
 df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})

 result = pd.concat([df1, df2], ignore_index=True)
 print(result)

6、合并DataFrames

这里的合并指的是列的合并,也就是说根据一个或若干个相同的列,进行合并

 # Merge two DataFrames
 left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
 right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})

 merged = pd.merge(left, right, on='key', how='inner')
 print(merged)

7、数据透视表

pivot_table

是用于数据透视的重要函数之一。它根据一个或多个列的值对数据进行重新排列和汇总,以便更好地理解数据的结构和关系。

 # Creating a pivot table
 pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
 print(pivot_table)

8、处理时间/日期类型数据

 # Converting a column to DateTime
 df['Date'] = pd.to_datetime(df['Date'])

9、数据重塑

pandas.melt()

是用于将宽格式(wide format)的数据表格转换为长格式(long format)。这个函数通常用于数据重塑(data reshaping)操作,以便更容易进行数据分析和可视化。

 pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)

参数说明:

  • frame:要进行重塑操作的数据表格(DataFrame)。
  • id_vars:需要保留的列,它们将成为长格式中的标识变量(identifier variable),不被"融化"。
  • value_vars:需要"融化"的列,它们将被整合成一列,并用新的列名表示。
  • var_name:用于存储"融化"后的列名的新列的名称。
  • value_name:用于存储"融化"后的值的新列的名称。
  • col_level:如果输入数据是多级索引(MultiIndex),则可以指定在哪个级别上应用"融化"操作。

下面是一个示例,演示如何使用

melt()

函数将宽格式数据转换为长格式,假设有以下的宽格式数据表格

df

    ID  Name  Math  English  History
 0   1   Amy    90       85       88
 1   2   Bob    78       92       76
 2   3  John    88       79       90

我们要将

Math

English

History

列"融化"为一个长格式数据表格,可以这样做:

 melted_df=pd.melt(df, id_vars=['ID', 'Name'], value_vars=['Math', 'English', 'History'], var_name='Subject', value_name='Score')

转换后的长格式数据表格

melted_df

如下所示:

    ID  Name  Subject  Score
 0   1   Amy     Math     90
 1   2   Bob     Math     78
 2   3  John     Math     88
 3   1   Amy  English     85
 4   2   Bob  English     92
 5   3  John  English     79
 6   1   Amy  History     88
 7   2   Bob  History     76
 8   3  John  History     90

通过这种方式,你可以将宽格式数据表格中的多列数据整合到一个列中,以更容易进行分析、可视化或其他操作。

melt()

函数在数据清洗和转换阶段非常有用。

melt()

或者可以理解为上面

pivot_table

或者

unstack

的反操作。

10、分类数据

astype('category')

是用于将一列数据类型转换为分类(Category)类型的方法。将数据列转换为分类类型有助于节省内存和提高性能,特别是当数据列中包含有限的不同取值时。

 # Encoding categorical variables
 df['Category'] = df['Category'].astype('category')
 df['Category'] = df['Category'].cat.codes

11、数据抽样

 # Randomly sample rows from a DataFrame
 sampled_df = df.sample(n=2)

12、计算累加和

 # Calculating cumulative sum
 df['Cumulative_Sum'] = df['Values'].cumsum()

13、删除重复的数据

 # Removing duplicate rows
 df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)

14、创建虚拟变量

pandas.get_dummies()

是 Pandas 中用于执行独热编码(One-Hot Encoding)的函数。

 # Creating dummy variables for categorical data
 dummy_df = pd.get_dummies(df, columns=['Category'])

15、数据导出

有很多个to方法,可以到导出不同的格式

 # Exporting DataFrame to CSV
 df.to_csv('output.csv', index=False)

总结

以上这15个Pandas代码片段是我们日常最常用的数据操作和分析操作。熟练的掌握它,并将它们合并到工作流程中,可以提高处理和探索数据集的效率和效果。

https://avoid.overfit.cn/post/d5097a67e5c34a0ab42395d8c22091e1

作者:pythonfundamentals

目录
相关文章
|
3月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
354 0
|
3月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
546 0
|
5月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
493 0
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
362 1
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
373 0
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
1581 0
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
327 2
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
403 3
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
197 1
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化