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

go和java做网站优化公司哪家好

go和java做网站,优化公司哪家好,营销网站做推广公司,在美国做网站如何接入收款工具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/373205.html

    相关文章:

  1. 百度免费网站怎样建设百度收录在线提交
  2. wordpress默认小工具seo查询seo优化
  3. 8图片这样的网站怎么做的网络运营是什么意思
  4. 正规网站建设官网口碑营销案例2022
  5. 优秀网站设计案例百度指数网
  6. 做网站的哪个好爱战网关键词
  7. 政府门户网站建设管理典型经验网络推广引流方式
  8. 网站制作推荐营业推广经典案例
  9. 邯郸网站建设服务2023年新闻热点事件摘抄
  10. 运营好还是网站开发好网络营销方法有什么
  11. 有没有做软件的网站网络广告怎么做
  12. 网站首页缩略图 seo全能搜
  13. 专业网站制作团队seo整站优化公司持续监控
  14. iis如何做网站管理器百度关键词优化软件排名
  15. 湖州做网站公司兰州seo快速优化报价
  16. 做电影方面的网站怎么做友情链接网站大全
  17. 永久免费个人网站搜索引擎优化方法与技巧
  18. 家庭装修seo关键词排名优化怎样收费
  19. 辽宁建设安装集团有限公司网站网络优化是干什么的
  20. 做cover用什么网站中国职业培训在线平台
  21. 大发快三网站自做企业网络推广技巧
  22. wordpress搭建网站教程怎么免费建立网站
  23. 网站群的建设目标个人免费自助建站网站
  24. 国内创意产品网站谷歌广告平台
  25. 做新零售这些注册网站和找货源免费建站有哪些
  26. 做网站要找什么软件seo优化教学视频
  27. 可以做qq空间背景音乐的网站市场推广计划
  28. 东莞网站设计智能 乐云践新品牌推广方案ppt
  29. 做网站是干啥的厦门seo推广外包
  30. 设计做网站哪家公司好今日头条最新版