Pandas提供了强大的代码数据操作和分析功能,是片段数据科学的日常基本工具。在本文中,个基我们将介绍最常用的常用15个Pandas代码片段。这些片段将帮助简化数据分析任务,代码从数据集中提取有价值的片段见解。
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)
# Grouping by a column and calculating the mean grouped = df.groupby('Age').mean() print(grouped)
# Check for missing values missing_values = df.isnull().sum() # Fill missing values with a specific value df['Age'].fillna(0, inplace=True)
apply() 函数允许在 DataFrame 的行或列上应用自定义函数,以实现更复杂的数据处理和转换操作。
df['Age'] = df['Age'].apply(lambda x: x * 2)
这里的连接主要是行的连接,也就是说将两个相同列结构的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)
这里的合并指的是列的合并,也就是说根据一个或若干个相同的列,进行合并
# 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, notallow='key', how='inner') print(merged)
pivot_table 是用于数据透视的重要函数之一。它根据一个或多个列的值对数据进行重新排列和汇总,以便更好地理解数据的结构和关系。
# Creating a pivot table pivot_table = df.pivot_table(index='Name', columns='Age', values='Value') print(pivot_table)
# Converting a column to DateTime df['Date'] = pd.to_datetime(df['Date'])
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)
参数说明:
下面是一个示例,演示如何使用 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的反操作。
astype('category') 是用于将一列数据类型转换为分类(Category)类型的方法。将数据列转换为分类类型有助于节省内存和提高性能,特别是当数据列中包含有限的不同取值时。
# Encoding categorical variables df['Category'] = df['Category'].astype('category') df['Category'] = df['Category'].cat.codes
# Randomly sample rows from a DataFrame sampled_df = df.sample(n=2)
# Calculating cumulative sum df['Cumulative_Sum'] = df['Values'].cumsum()
# Removing duplicate rows df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)
pandas.get_dummies() 是 Pandas 中用于执行独热编码(One-Hot Encoding)的函数。
# Creating dummy variables for categorical data dummy_df = pd.get_dummies(df, columns=['Category'])
有很多个to方法,可以到导出不同的格式
# Exporting DataFrame to CSV df.to_csv('output.csv', index=False)
以上这15个Pandas代码片段是我们日常最常用的数据操作和分析操作。熟练的掌握它,并将它们合并到工作流程中,可以提高处理和探索数据集的效率和效果。
责任编辑:华轩 来源: DeepHub IMBA Pandas工具(责任编辑:探索)
新矿资源(01231.HK)年度扭亏为盈至83.1万美元 每股基本及摊薄盈利0.02美分
002655股票共达电声公布消息:2020年员工持股计划第一个锁定期届满
深高速(00548.HK)年度净利润减少19.88% 末期现金股息每股0.43元
上海春节期间线下消费支付金额达371亿元 同比2019年农历同期增长28.6%