嗨玩手游网

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

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

1、过滤数据

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

import pandas as pd# Create a DataFramedata = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40]}df = pd.DataFrame(data)# Filter rows where Age is greater than 30filtered_df = df[df['Age'] > 30]print(filtered_df)2、分组和聚合数据

# Grouping by a column and calculating the meangrouped = dfby('Age')an()print(grouped)3、数据缺失值

# Check for missing valuesmissing_values = df.isnull().sum()# Fill missing values with a specific valuedf['Age'].fillna(0, inplace=True)4、将函数应用于列

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

df['Age'] = df['Age']ly(lambda x: x * 2)5、连接DataFrames

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

# Concatenate two DataFramesdf1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})result = pdncat([df1, df2], ignore_index=True)print(result)6、合并DataFrames

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

# Merge two DataFramesleft = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})merged = pdrge(left, right, on='key', how='inner')print(merged)7、数据透视表

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

# Creating a pivot tablepivot_table = df.pivot_table(index='Name', columns='Age', values='Value')print(pivot_table)8、处理时间/日期类型数据

# Converting a column to DateTimedf['Date'] = pd.to_datetime(df['Date'])9、数据重塑

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

pandaslt(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 History0 1 Amy 90 85 881 2 Bob 78 92 762 3 John 88 79 90

我们要将 Math、English 和 History 列"融化"为一个长格式数据表格,可以这样做:

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

转换后的长格式数据表格 melted_df 如下所示:

ID Name Subject Score0 1 Amy Math 901 2 Bob Math 782 3 John Math 883 1 Amy English 854 2 Bob English 925 3 John English 796 1 Amy History 887 2 Bob History 768 3 John History 90

通过这种方式,你可以将宽格式数据表格中的多列数据整合到一个列中,以更容易进行分析、可视化或其他操作。melt() 函数在数据清洗和转换阶段非常有用。

melt() 或者可以理解为上面pivot_table 或者unstack的反操作。

10、分类数据

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

# Encoding categorical variablesdf['Category'] = df['Category'].astype('category')df['Category'] = df['Category'].catdes11、数据抽样

# Randomly sample rows from a DataFramesampled_df = df.sample(n=2)12、计算累加和

# Calculating cumulative sumdf['Cumulative_Sum'] = df['Values'].cumsum()13、删除重复的数据

# Removing duplicate rowsdf.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)14、创建虚拟变量

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

# Creating dummy variables for categorical datadummy_df = pd.get_dummies(df, columns=['Category'])15、数据导出

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

# Exporting DataFrame to CSVdf.to_csv('output.csv', index=False)总结

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

作者:pythonfundamentals

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

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

1、过滤数据

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

import pandas as pd# Create a DataFramedata = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40]}df = pd.DataFrame(data)# Filter rows where Age is greater than 30filtered_df = df[df['Age'] > 30]print(filtered_df)2、分组和聚合数据

# Grouping by a column and calculating the meangrouped = dfby('Age')an()print(grouped)3、数据缺失值

# Check for missing valuesmissing_values = df.isnull().sum()# Fill missing values with a specific valuedf['Age'].fillna(0, inplace=True)4、将函数应用于列

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

df['Age'] = df['Age']ly(lambda x: x * 2)5、连接DataFrames

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

# Concatenate two DataFramesdf1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})result = pdncat([df1, df2], ignore_index=True)print(result)6、合并DataFrames

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

# Merge two DataFramesleft = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})merged = pdrge(left, right, on='key', how='inner')print(merged)7、数据透视表

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

# Creating a pivot tablepivot_table = df.pivot_table(index='Name', columns='Age', values='Value')print(pivot_table)8、处理时间/日期类型数据

# Converting a column to DateTimedf['Date'] = pd.to_datetime(df['Date'])9、数据重塑

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

pandaslt(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 History0 1 Amy 90 85 881 2 Bob 78 92 762 3 John 88 79 90

我们要将 Math、English 和 History 列"融化"为一个长格式数据表格,可以这样做:

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

转换后的长格式数据表格 melted_df 如下所示:

ID Name Subject Score0 1 Amy Math 901 2 Bob Math 782 3 John Math 883 1 Amy English 854 2 Bob English 925 3 John English 796 1 Amy History 887 2 Bob History 768 3 John History 90

通过这种方式,你可以将宽格式数据表格中的多列数据整合到一个列中,以更容易进行分析、可视化或其他操作。melt() 函数在数据清洗和转换阶段非常有用。

melt() 或者可以理解为上面pivot_table 或者unstack的反操作。

10、分类数据

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

# Encoding categorical variablesdf['Category'] = df['Category'].astype('category')df['Category'] = df['Category'].catdes11、数据抽样

# Randomly sample rows from a DataFramesampled_df = df.sample(n=2)12、计算累加和

# Calculating cumulative sumdf['Cumulative_Sum'] = df['Values'].cumsum()13、删除重复的数据

# Removing duplicate rowsdf.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)14、创建虚拟变量

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

# Creating dummy variables for categorical datadummy_df = pd.get_dummies(df, columns=['Category'])15、数据导出

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

# Exporting DataFrame to CSVdf.to_csv('output.csv', index=False)总结

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

作者:pythonfundamentals

更多资讯
游戏推荐
更多+