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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【pandas基本操作】 -> 正文阅读

[人工智能]【pandas基本操作】


前言

本文记录自己使用pandas的常用方法和心得。


一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。特别使用读取csv和excel格式的额文件。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

work_path = r'C:\Users\sherry\.spyder-py3'
os.chdir(work_path)#改变当前目录到work_path
print(os.getcwd())#打印当前目录
data = pd.read_csv(
    'sample_data.csv', encoding = 'utf-8', dtype = {'user_id':str, 'count':int})
print(data.head())

该处地址也可以使用的url向网络请求的数据。

3. 最基本的索引

print(data.columns)#显示列标签
print(data['user_id'])#获取一列
print(data[['count','user_id']])#获取两列,这是用列表形式获取的两列,所以有2层方括号
print(data[1:5])#获取1:4print(data[['count','user_id']][1:5])#获取两列,再获取这两列组成的dataframe的1:4

4. 通过loc函数索引

loc函数定位的是标签(index),不是行的位置。loc函数的第一个参数是对行的操作,第二个参数是对列的操作。

print(data.loc[1:3, ['user_id','count']])#获取行标签为1:3,列标签为'user_id','count'的数据
print(data.loc[data.user_id == '1', ['user_id','count']])#获user_id列中值为'1'的行,列标签为'user_id','count'的数据
print(data.loc[data.buy_mount > 9, ])#获buy_mount > 9的所有行
print(data.loc[(data.buy_mount > 90) | (data.user_id == '1'), ])#获buy_mount > 90或user_id='1'的所有行

iloc函数定位的是行的位置。iloc函数的第一个参数是对行的操作,第二个参数是对列的操作。

print(data.iloc[[1, 6], 0:4])#获取第1行和第六行,02print(data.iloc[[1, 6], [0, 2]])#获取第1行和第六行,02

5. 增删

列的增加主要使用直接增加法,或者insert()方法,删除列主要使用drop、del方法。
行的删除也可以用drop方法,行的增加可以用append在末尾加入,也有更好的方法。

tmp = data['购买量']
data.insert(0, 'copy购买量', tmp)#在数据中插入一列,名称‘copy购买量’,位置第0列,数字tmp
del data['copy购买量']#删除dataframe中名称为copy购买量的列
data.insert(1, 'copy购买量', tmp)#在数据中插入一列,名称‘copy购买量’,位置第0列,数字tmp
data.insert(0, 'copy购买量1', tmp)#在数据中插入一列,名称‘copy购买量’,位置第0列,数字tmp
data.drop(labels = ['copy购买量', 'copy购买量1'], axis = 1, inplace = True)
#上一行在数据中删除名称为'copy购买量', 'copy购买量1'的列,名称‘copy购买量’,axis = 1表示删除列,axis = 0表示删除行,inplace表示真实删除

print(data.drop(labels = [3, 4], axis = 0, inplace = False))#删除行标签为34的行
print(data.drop(labels = range(2, 5), axis = 0, inplace = False))#删除行标签为24的行
print(data.append(data))#在df的最后附加行

6. 数据的修改和查找

用rename修改行标签或者列名称。
直接用df.series同==,>,<等逻辑运算符获取满足特定关系的df数据
也可以用between、isin方法获取在之间,匹配某些数量的数据

data.rename(columns = {'user_id':'用户ID'})#用rename修改列标签,使用字典的形式;
data.rename(index = {1:11, 2:22}, inplace = True)#用rename修改行标签,使用字典的形式;

data.loc[data['性别'] == 0, '性别'] = '女性'#将列标签为‘性别’的列中值等于0的元素,改为女性。
data.loc[data['性别'] == 1, '性别'] = '男性'
data.loc[data['性别'] == 2, '性别'] = '未知'

data[data['buy_mount']>80]#获取名称为'buy_mount'列的数据中大于80的数据,会得到所有列
print(data[(data['buy_mount'] < 80) & (data['性别'] == '男性')])
print(data[data['buy_mount'].isin([80, 88, 89, 98])])#buy_mount 列数值属于list[80, 88, 89, 90]的数据

6. 时间日期格式处理

使用df.to_datetime()处理

data.rename(columns = {'user_id':'用户ID'})#用rename修改列标签,使用字典的形式;
data.rename(index = {1:11, 2:22}, inplace = True)#用rename修改行标签,使用字典的形式;

data.loc[data['性别'] == 0, '性别'] = '女性'#将列标签为‘性别’的列中值等于0的元素,改为女性。
data.loc[data['性别'] == 1, '性别'] = '男性'
data.loc[data['性别'] == 2, '性别'] = '未知'

data[data['buy_mount']>80]#获取名称为'buy_mount'列的数据中大于80的数据,会得到所有列
print(data[(data['buy_mount'] < 80) & (data['性别'] == '男性')])
print(data[data['buy_mount'].isin([80, 88, 89, 98])])#buy_mount 列数值属于list[80, 88, 89, 90]的数据

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:37:57  更:2021-11-19 17:39:46 
 
开发: 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/18 1:33:30-

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