赞
踩
Pandas库是Python中专为数据分析而设计的一款强大且灵活的开源库,它建立在NumPy之上,提供了高效且易于使用的数据结构以及数据分析工具。Pandas的主要目标是简化数据清洗和预处理工作,并为统计建模、可视化以及其他复杂的数据分析流程提供便利。以下是对Pandas库的详细介绍:
Series:
DataFrame:
高性能:
数据清洗:
数据操作:
分组和聚合:
groupby
函数允许对数据进行分组,并能在每个组上执行聚合操作,如求和、均值、中位数等。时间序列处理:
文件读写:
统计分析:
import pandas as pd # 创建一个简单的Series s = pd.Series([1, 3, 5, np.nan, 6, 8], index=['a', 'b', 'c', 'd', 'e', 'f']) print(s) # 创建一个DataFrame df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Salary': [50000, 60000, 70000] }) print(df) # 数据操作 df['NewColumn'] = df['Age'] * 2 # 添加新列 filtered_df = df[df['Age'] > 30] # 过滤行 # 分组和聚合 grouped = df.groupby('Age').sum() # 按年龄分组并求工资总和 # 时间序列操作 ts = pd.date_range(start='1/1/2020', periods=10) # 创建时间序列索引 df_ts = pd.DataFrame({'Values': range(10)}, index=ts) # 创建含时间序列索引的DataFrame resampled_df = df_ts.resample('M').mean() # 按月进行数据重采样并计算平均值
Pandas库的使用涉及到大量的数据处理、分析和操作功能,以下是一些关键功能的详细示例:
import pandas as pd
# 创建一个简单的Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)
# 创建一个DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
# 从CSV文件读取数据
df_from_csv = pd.read_csv('data.csv')
# 从Excel文件读取数据
df_from_excel = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 从数据库读取数据(假设已经连接好数据库引擎)
sql_query = "SELECT * FROM my_table"
df_from_sql = pd.read_sql_query(sql_query, con=my_engine)
# 新增列 df['Income'] = [50000, 60000, 70000] # 修改列值 df['Age'] += 1 # 所有年龄增加1岁 # 选择特定列 selected_columns = df[['Name', 'Age']] # 基于条件筛选行 mask = df['Age'] > 30 older_people = df[mask] # 排序 sorted_df = df.sort_values(by='Age', ascending=False) # 删除重复行 unique_df = df.drop_duplicates(subset=['Name'])
# 对数据进行分组并计算各组的统计指标
grouped = df.groupby('City').agg({'Age': ['min', 'max', 'mean'], 'Income': 'sum'})
# 转换数据透视表
pivot_table = df.pivot_table(values='Income', index='City', columns='Gender')
# 创建一个时间序列索引的DataFrame
date_index = pd.date_range(start='2020-01-01', periods=12, freq='M')
ts_data = pd.DataFrame({'Sales': range(12)}, index=date_index)
# 重新采样数据(例如,按季度平均)
quarterly_sales = ts_data.resample('Q').mean()
# 对时间序列数据填充缺失值
filled_data = ts_data.fillna(method='ffill') # 使用前向填充
# 将两个DataFrame按照共同的列合并
df1 = pd.DataFrame(...some data...)
df2 = pd.DataFrame(...other data...)
merged_df = pd.merge(df1, df2, on='common_column')
# 或者直接连接(concatenate)
combined_df = pd.concat([df1, df2], axis=0, ignore_index=True) # 横向堆叠(行方向)
以上仅为Pandas库的部分基础功能和操作示例,实际应用中还包括更复杂的数据清洗、数据转换、数据过滤等操作。Pandas的强大之处在于它能便捷高效地处理各种结构化数据,为后续的数据分析、模型构建等工作打下坚实基础。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。