当前位置: 首页 > wzjs >正文

合肥网站建设 微笑互联怎么在百度上推广产品

合肥网站建设 微笑互联,怎么在百度上推广产品,小说网站建设方案,wordpress精致博客主题Pandas的核心内容 1. Pandas 是什么? ​定义:Pandas 是 Python 中用于数据操作和分析的核心库,尤其擅长处理结构化数据(如表格、时间序列)。​核心数据结构: ​Series:一维数组,带标…

Pandas的核心内容

1. Pandas 是什么?

  • 定义:Pandas 是 Python 中用于数据操作和分析的核心库,尤其擅长处理结构化数据(如表格、时间序列)。
  • 核心数据结构
    • Series:一维数组,带标签(类似字典)。
    • DataFrame:二维表格,由多个 Series 组成(核心工具)。
1.1 Series(一维带标签数组)​
  • 创建 Series

    import pandas as pd# 从列表创建
    s = pd.Series([10, 20, 30, 40], name='age', index=['a', 'b', 'c', 'd'])
    print(s)

    输出

    a    10
    b    20
    c    30
    d    40
    Name: age, dtype: int64
  • 操作 Series

    s.values  # 输出数组:[10, 20, 30, 40]
    s.index   # 输出索引:Index(['a', 'b', 'c', 'd'], dtype='object')
    s['a']    # 按标签取值 → 10
    s[0]      # 按位置取值 → 10

1.2 DataFrame(二维表格数据)​
  • 创建 DataFrame

    data = {'name': ['Alice', 'Bob', 'Charlie'],'age': [25, 30, 35],'city': ['New York', 'Paris', 'London']
    }
    df = pd.DataFrame(data)
    print(df)

    输出

         name  age      city
    0    Alice   25  New York
    1      Bob   30     Paris
    2  Charlie   35    London
  • 关键属性

    df.shape    # 形状:(3, 3)
    df.columns  # 列名:Index(['name', 'age', 'city'], dtype='object')
    df.index    # 行索引:RangeIndex(start=0, stop=3, step=1)

2. 核心操作详解

2.1 创建 DataFrame
import pandas as pd# 从字典创建
data = {"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"City": ["New York", "Paris", "London"]
}
df = pd.DataFrame(data)
print(df)

输出

      Name  Age      City
0    Alice   25  New York
1      Bob   30     Paris
2  Charlie   35    London
数据输入与输出
2.1.1读取数据
# 从 CSV 读取
df = pd.read_csv('data.csv', encoding='utf-8', parse_dates=['date_column'])# 从 Excel 读取
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')# 常用参数:
# - header=0(指定列标题行)
# - na_values=['NA', 'N/A'](定义缺失值符号)
2.1.2保存数据
# 保存为 CSV
df.to_csv('output.csv', index=False)# 保存为 Excel
df.to_excel('output.xlsx', sheet_name='Data')

2.2 数据查看与统计
# 查看前3行
df.head(3)# 查看数据基本信息(列名、类型、缺失值)
df.info()# 描述性统计(数值列)
df.describe()# 查看唯一值
df["City"].unique()  # 输出:['New York', 'Paris', 'London']

 数据清洗与预处理

处理缺失值

# 检查缺失值
df.isnull().sum()# 删除缺失值
df.dropna(axis=0)     # 删除含缺失值的行
df.dropna(subset=['age'])  # 删除 age 列缺失的行# 填充缺失值
df['age'].fillna(df['age'].mean(), inplace=True)  # 用均值填充
df.fillna({'city': 'Unknown', 'age': 0}, inplace=True)  # 按列填充

类型转换

# 转换列类型
df['age'] = df['age'].astype(int)
df['date'] = pd.to_datetime(df['date'])# 优化内存
df['city'] = df['city'].astype('category')  # 对低基数列节省内存

 去重

df.drop_duplicates(subset=['name', 'city'], keep='first')  # 保留第一个重复值
2.3 数据筛选
  • 按列筛选
    df["Name"]          # 选择单列 → Series
    df[["Name", "Age"]] # 选择多列 → DataFrame
  • 按行筛选
    # 按位置选择
    df.iloc[0]       # 第0行
    df.iloc[1:3]     # 第1-2行# 按条件筛选
    df[df["Age"] > 25]              # 年龄>25的行
    df.query("Age > 25 & City == 'Paris'")  # 使用 query 方法

 选择数据

# 按列选择
df['name']          # 返回 Series
df[['name', 'age']] # 返回 DataFrame# 按行选择
df.iloc[0]        # 第0行(按位置)
df.loc[df['age'] > 25]  # 按条件筛选(返回年龄>25的行)# 混合选择(行+列)
df.loc[df['age'] > 25, ['name', 'city']]

2.4 处理缺失值
# 检查缺失值
df.isnull().sum()# 删除缺失值
df.dropna()      # 删除包含缺失值的行
df.dropna(axis=1) # 删除包含缺失值的列# 填充缺失值
df.fillna(0)                # 用0填充
df["Age"].fillna(df["Age"].mean(), inplace=True)  # 用均值填充

2.5 数据排序
# 按列排序
df.sort_values("Age", ascending=False)  # 降序排列# 多列排序
df.sort_values(["City", "Age"], ascending=[True, False])

2.6 添加/删除列
# 添加新列
df["Salary"] = [70000, 80000, 90000]# 删除列
df.drop("City", axis=1, inplace=True)

 新增/删除列

# 新增列
df['salary'] = [50000, 60000, 70000]# 基于计算新增列
df['age_plus_10'] = df['age'] + 10# 删除列
df.drop(columns=['city'], inplace=True)


3. 数据分组与聚合

3.1 分组统计
# 按城市分组,计算平均年龄
df.groupby("City")["Age"].mean()# 多级分组
df.groupby(["City", "Salary"]).agg({"Age": "mean", "Salary": "sum"})
3.2 聚合函数
# 对分组数据应用多种聚合
df.groupby("City").agg(Avg_Age=("Age", "mean"),Max_Salary=("Salary", "max")
)

数据透视表

# 类似 Excel 数据透视表
pd.pivot_table(df, values='salary', index='city', columns='gender', aggfunc='mean')

4. 数据合并

4.1 按列合并(JOIN)​
df1 = pd.DataFrame({'id': [1, 2], 'name': ['A', 'B']})
df2 = pd.DataFrame({'id': [1, 2], 'salary': [100, 200]})# 内连接
pd.merge(df1, df2, on='id', how='inner')# 左连接
pd.merge(df1, df2, on='id', how='left')
4.2 按行合并(UNION)​
pd.concat([df1, df2], axis=0)  # 垂直堆叠(需列名一致)

5. 高级功能

5.1 应用函数
# 对列应用函数
df["Age_Squared"] = df["Age"].apply(lambda x: x ​** 2)# 对行应用函数
df.apply(lambda row: row["Salary"] / row["Age"], axis=1)
5.2 处理时间序列
# 转换为时间类型
df['date'] = pd.to_datetime(df['date'])# 设置时间索引
df.set_index('date', inplace=True)# 按时间重采样(例如按月统计)
df.resample('M').mean()# 计算时间差
df['days_since_event'] = (pd.Timestamp.now() - df['date']).dt.days

6. 性能优化技巧 

  1. 避免逐行操作:使用向量化操作(如 df["col"] * 2)替代 apply
  2. 使用高效数据类型
    df["Category"] = df["Category"].astype("category")  # 节省内存
  3. 分块处理大数据:使用 chunksize 参数分块读取文件。
df['bonus'] = df['salary'] * 0.1  # 高效
chunks = pd.read_csv('large_data.csv', chunksize=10000)
for chunk in chunks:process(chunk)

 ​7. 实战场景示例

实战案例:销售数据分析

目标:统计每个地区的销售额和利润。
# 读取数据
sales = pd.read_csv('sales.csv', parse_dates=['order_date'])# 清洗数据
sales.dropna(subset=['region', 'sales'], inplace=True)
sales['profit'] = sales['profit'].fillna(0)# 分析
result = sales.groupby('region').agg(total_sales=('sales', 'sum'),avg_profit=('profit', 'mean')
).reset_index()# 保存结果
result.to_csv('sales_summary.csv', index=False)
    http://www.dtcms.com/wzjs/82737.html

    相关文章:

  1. 上海市住房和城乡建设厅网站设计网站排名
  2. 企业宣传网站建设今日军事新闻视频
  3. 深圳市大鹏建设局网站百度竞价价格查询
  4. html个人网站关键词排名点击软件首页
  5. 深圳创业补贴去哪里申请惠州seo排名
  6. 网站运营做产品需要哪些知识搜索引擎优化推广
  7. 网站建设平台网站设计优化 英语
  8. 网站服务器容量如何在百度发布广告信息
  9. 梁山做网站世界足球排名
  10. 获取网站访客qq 原理域名注册需要多少钱?
  11. 美国做空机构浑水网站图片外链生成工具在线
  12. 网站优化服务流程温州免费建站模板
  13. 手机网站优化排名网页设计模板素材图片
  14. 敬请期待图片苏州seo培训
  15. 网站营销的流程网站的优化策略方案
  16. 怎么用阿帕奇做网站关键词搜索次数查询
  17. 推荐几个做网站比较好的公司免费网站怎么做出来的
  18. 局域网网站建设今日国际新闻大事件
  19. 梅河口城乡建设网站seo优化方法有哪些
  20. 自主做网站重庆网络seo
  21. 上海专业做网站服务商seo 论坛
  22. 单页站如何做网站seo优化网络推广外包费用
  23. 刘强东自己做网站站长之家域名查询
  24. 大连鼎信网站建设公司地址网络推广是以企业产品或服务
  25. 网站平台搭建流程长沙seo工作室
  26. 做网站都需要什么工具广州网站优化服务
  27. 建设网站制作哪家好seo关键词优化方法
  28. 石家庄网站设计制作百度上首页
  29. 自己做的网站在百度怎么发布南昌网优化seo公司
  30. 可信网站验证服务中心seo研究中心怎么了