IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> pandas数据分析总结 -> 正文阅读

[Python知识库]pandas数据分析总结

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。其中DataFrame,Json,数据筛选的使用频次很高,值得重点将基本用法学习并总结。

版本信息:python 3.7? pandas?1.3.5

一、DataFrame

DataFrame 是一个表格型的数据结构,可以被看做由 Series 组成的字典(共同用一个索引)

data = {
    "calories": [420, 380, 390],
    "duration": [50, 40, 45]
    }
df = pd.DataFrame(data)
#返回第一行和第二行
print(df.loc[0,1])

二、JSON截取

nested_list.json 文件内容
{
    "school_name": "ABC primary school",
    "class": "Year 1",
    "students": [
    {
        "id": "A001",
        "name": "Tom",
        "math": 60,
        "physics": 66,
        "chemistry": 61
    },
    {
        "id": "A002",
        "name": "James",
        "math": 89,
        "physics": 76,
        "chemistry": 51
    },
    {
        "id": "A003",
        "name": "Jenny",
        "math": 79,
        "physics": 90,
        "chemistry": 78
    }]
}

对于以上有嵌套的json格式,如果我只需要读取student中的math字段的所有记录;有两种方式,

1、使用read_json将记录读取出来,再用DataFrame截取;

2、使用json_normalize直接截取。

import pandas as pd
import json
import glom

第一种方式:
#需安装pip3 install glom,glom 模块允许我们使用 . 来访问内嵌对象的属性。
df = pd.read_json('nested_list.json')
data = df['students'].apply(lambda row: glom(row, 'grade.math'))


第二种方式:
# 使用 Python JSON 模块载入数据
with open('nested_list.json','r') as f:
    data = json.loads(f.read())

# 展平数据
df_nested_list = pd.json_normalize(data, record_path =['students'])
# 还可以使用 meta 参数来显示其他的元数据
df_nested_list = pd.json_normalize(data, record_path =['students'],meta=['class'])
print(df_nested_list)

三、数据筛选:

1、清洗空值:DataFrame.dropna

2、替换空值:DataFrame.fillna

3、清洗重复数据:DataFrame.duplicated

其中可使用参数如下:

  • axis:默认为?0,表示逢空值剔除整行,如果设置参数?axis=1?表示逢空值去掉整列。
  • how:默认为?'any'?如果一行(或一列)里任何一个数据有出现 NA 就去掉整行,如果设置?how='all'?一行(或列)都是 NA 才去掉这整行。
  • thresh:设置需要多少非空值的数据才可以保留下来的。
  • subset:设置想要检查的列。如果是多个列,可以使用列名的 list 作为参数。
  • inplace:如果设置 True,将计算得到的值直接覆盖之前的值并返回 None,修改的是源数据。

应用场景:

#1、某一列ST_NUM,dropna清除空值,inplace = True修改dataframe
df.dropna(subset=['ST_NUM'], inplace = True)

#2、列PID,空值填充123456,inplace = True修改dataframe
df['PID'].fillna(12345, inplace = True)

#3、修改第2行,age列的数据
df.loc[2, 'age'] = 30 # 

#4、删除重复数据
df.drop_duplicates(inplace = True)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:04:55  更:2022-12-25 11:06:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/19 4:29:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码