欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
推荐:「stormsha的主页」,「stormsha的知识库」持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。 ✨✨ 欢迎订阅本专栏 ✨✨
The Start点点关注,收藏不迷路
|
Pandas是Python数据分析的核心库之一,凭借其高效的数据结构和丰富的功能,成为数据科学家和分析师的必备工具。本教程将带你从入门到精通,掌握Pandas的核心功能,包括数据读取、清洗、转换、分析和可视化。
Pandas是一个开源的Python库,专为数据操作和分析设计。它诞生于2008年,由Wes McKinney开发,旨在解决Python在金融数据分析中的局限性。Pandas的名字来源于“Panel Data”(面板数据)。
Series
和DataFrame
数据结构,支持数据清洗、转换、聚合和可视化。# 安装
pip install pandas
# 导入与版本检查
import pandas as pd
print(pd.__version__) # 输出示例:2.0.3
一维带标签数组,类似增强版Python列表。
# 创建Series
s = pd.Series([1, 3, 5, 7], name='numbers')
print(s.head(2)) # 输出前两行
s.index = ['a', 'b', 'c', 'd']
)。二维表格型数据结构,类似Excel表或SQL表。
# 从字典创建
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df.shape) # 输出:(2, 2)
df = pd.read_csv('data.csv') # 从CSV加载
df['Name']
df.loc[0] # 按标签选择
df.iloc[0:2] # 按位置选择
df[df['Age'] > 25] # 筛选年龄大于25的行
# 检测缺失值
print(df.isnull().sum())
# 填充缺失值
df.fillna(0, inplace=True) # 用0填充
df.drop_duplicates(inplace=True) # 删除重复行
df['Age'] = df['Age'].astype('float') # 转换为浮点数
# Z-score标准化
df['Age'] = (df['Age'] - df['Age'].mean()) / df['Age'].std()
df.sort_values(by='Age', ascending=False, inplace=True)
# 按性别分组并计算平均年龄
df.groupby('Gender')['Age'].mean()
# 横向合并
pd.concat([df1, df2], axis=1)
# 纵向合并
pd.concat([df1, df2], axis=0)
print(df.describe()) # 统计均值、标准差等
df['Sales'].plot(kind='bar') # 绘制柱状图
plt.savefig('sales.png') # 保存图表
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
df.resample('M').mean() # 按月重采样
df.apply()
而非循环。df.memory_usage(deep=True) # 查看内存占用
sales = pd.read_csv('sales.csv')
sales['Profit'] = sales['Revenue'] - sales['Cost']
sales.plot(x='Month', y='Profit', kind='line')
import yfinance as yf
data = yf.download('AAPL', start='2023-01-01')
data['MA50'] = data['Close'].rolling(50).mean()
data[['Close', 'MA50']].plot()
道阻且长,行则将至,让我们一起加油吧!
The Start点点关注,收藏不迷路
|