数据清洗Chap4——dataframe操作

1.在数据中,选择需要的行或者列
2.基础索引方式,就是直接引用
3.iloc[行索引名称或者条件,列索引名称或者标签]
4.iloc[行索引位置,列索引位置]
5.注意,区分loc和iloc
下面我们进入实际操作。

import pandas as pd
import os
import numpy as np
os.chdir(r'C:\Users\qw\Desktop\data ana')
df = pd.read_csv('name.csv',encoding = 'utf-8',dtype = {'user_id':str})
df.info()
df.head(10)
df.columns
df['user_id']
df[['user_id','cat1']].head(5)
df[['user_id','cat1']][1:5]

df.loc[3:4]
df.loc[:,['user_id, 'buy_mount']].head(10)
df.loc[1:3,['user_id, 'buy_mount']]

df.loc[df.user_id =='917056007',['user_id, 'buy_mount']]

df.loc[(df.user_id =='917056007') | (df.buy_mount > 3),['user_id','buy_mount']]

df.iloc[1:4]
df.iloc[:,[0,2]]
df.iloc[[1,10],[0,2]]

df.loc[2:7]
df.iloc[2:7]

1.在数据中,直接添加列
2.使用df.insert方法在数据中添加一列
3.掌握drop(labels, axis,inplace = True)的用法
labels表示删除的数据,axis表示作用轴,inplace =True表示是否对原数据生效,axis=0表示按行操作,axis=1表示按列操作
4.使用del函数直接删除其中一列


df['购买量'] = np.where(df['buy_mount']>3,'高','低')

auction_id = df['auction_id']
del df['auction_id']
df.insert(0, 'auction_id_new',auction_id)

df.drop(labels=['auction_id_new','购买量'],axis = 1, inplace = True)
df.head(5 )

df.drop(labels=[3,4],axis=0, inplace= True)

1.在数据中,可以使用rename修改列名称或者行索引名称
2.使用loc方法修改数据
3.使用loc方法查找符合条件的数据
4.条件与条件之间用&或者|连接,分别代表’且’和’或’
5. 使用between和isin选择满足条件的行


df1.loc[df1['gender']=='0','gender'] = '女性'
df1.loc[df1['gender']=='1','gender'] = '男性'
df1.loc[df1['gender']=='2','gender'] = '女性'

df1.rename(columns = {'user_id':'用户ID','birthday':'出生日期','gender':'性别'},inplace = True)

df1.rename(index = {3:33244,4:53535}, inplace = True)
df1.iloc[:5]

df1.reset_index(drop=True,inpace =True)

df[df['buy_mount']>10]
df[~(df['buy_mount']>10)]
df[(df['buy_mount']>10) & (df['day'] > 20140101)]
df['buy_mount'].between(4, 10, inclusive = True)
df['cat1'].isin([38,28,50014815])
df[df['cat1'].isin([38,28,50014815])]

1定义:在数据清洗的过程中,很多时候需要将数据整理在一起,方便后续的分析,这个过程也叫数据合并
2.常见的合并方法有堆叠和按主健进行合并,堆叠又分为横向堆叠和纵向堆叠,按主键合并类似于sql里面的关联操作

  • 横向堆叠将两张表或多张表在X轴方向,即横向拼接在一起
  • 纵向堆叠将两张表或多张表在Y轴方向,即纵向拼接在一起
  • 注意使用concat时,axis = 1 用于横向,0代表纵向
  • 注意join取inner或者outer时,分别代表交集和并集。

import xlrd
workbook = xlrd.open_workbook('meal_order_detail.xlsx')
sheet_name = workbook.sheet_names()
sheet_name
order1 = pd.read_excel('meal_order_detail.xlsx',sheet_name = 'meal_order_detail1')
order3 = pd.read_excel('meal_order_detail.xlsx',sheet_name = 'meal_order_detail2')
order3 = pd.read_excel('meal_order_detail.xlsx',sheet_name = 'meal_order_detail3')
order = pd.concat([order1, order2, order3],axis = 0,ignore_index = True)

basic = pd.DataFrame()
for i in sheet_name:
    basic_i = pd.read_excel('meal_order_detail.xlsx',sheet_name = i)
    basic = pd.concat([basic,basci_i],axis=0,ignore_index=True)
df = pd.read_csv('1_jiaoyi.csv',dtype={'user_id':str})
df1 = pd.read_csv('2_xingxi.csv',dtype={'user_id':str})
df1.head(10)
df = pd.merge(left = df,right = df1,how = 'inner',left_on = 'user_id',right_on='use_id')
df = pd.read_csv('trade.csv',dtype={'user_id':str,index_col=[3,0]})

df.loc[28].loc[[82830661,532110457]]

df.loc[(a,b),'列标签']
df.loc[(28,[82830661,532110457]),['auc_id','cat_id']]
df.head(10)

Original: https://blog.csdn.net/qq_42997268/article/details/121301867
Author: CUPB-PANGBIN
Title: 数据清洗Chap4——dataframe操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/738201/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 使用Pytorch框架自己制作做数据集进行图像分类(一)

    第一章:Pytorch制作自己的数据集实现图像分类 第一章: Pytorch框架制作自己的数据集实现图像分类第二章: Pytorch框架构建残差神经网络(ResNet)第三章: P…

    Python 2023年8月1日
    057
  • 水墨云怎么样?

    今天看到水墨云这个云服务厂商,才开始是做 CDN 的,之后开始做 vps 业务。 我登陆官方网站,查看了它家的产品大部分是年付,且不支持退款,于是我打消了每一台服务器测试的念头,这…

    Python 2023年6月10日
    074
  • 爬虫(9) – Scrapy框架(1) | Scrapy 异步网络爬虫框架

    学习路线指引(点击解锁)知识定位人群定位 进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 入门级手把手带你打造一个…

    Python 2023年10月3日
    042
  • 完全 PR 指南

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 弹尽粮绝,会员救园:…

    Python 2023年10月22日
    018
  • python算数操作符和比较运算符

    python算数操作符和比较运算符 一、python算数操作符,加+,减-,乘,除/,幂方*,底板除//(取商),取余数% print(3+2) # 加+ 结果:5 print(3…

    Python 2023年6月12日
    075
  • requests+pytest+allure实战

    一、项目结构 case:存放测试用例,pytest的测试用例需要用test_ _.py或者__test.py;common:封装一些公共的方法;config:放置配置文件,存放接口…

    Python 2023年9月13日
    040
  • Python常用小技巧总结

    Pandas数据分析常用小技巧 数据分析中pandas的小技巧,快速进行数据预处理,欢迎点赞收藏,持续更新,作者:北山啦 文章目录 Pandas数据分析常用小技巧 Pandas小技…

    Python 2023年8月19日
    038
  • Numpy *****

    名称描述object数组或嵌套的数列dtype数组元素的数据类型,可选copy对象是否需要复制,可选 order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)sub…

    Python 2023年8月29日
    041
  • Spring Boot框架下实现Excel服务端导入导出

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定…

    Python 2023年10月15日
    041
  • 基于 RocketMQ 的 Dubbo-go 通信新范式

    本文作者:郝洪范 ,Dubbo-go Committer,京东资深研发工程师。 一、MQ Request Reply特性介绍 什么是 RPC 通信? 如上图所示,类似于本地调用,A…

    Python 2023年10月13日
    030
  • Numpy基础(二)——数组转置、计算内积和换轴

    1 数组转置 转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容。利用数组的transpose方法或者数组的T属性实现。 In [88]: arr=np.ar…

    Python 2023年8月24日
    075
  • Linux的NFS配置

    快速代码 nfs的Server配置文件和配置方法 echo ‘/newnfs 192.168.2.*(rw,sync,no_root_squash)’ >> /etc/…

    Python 2023年10月23日
    060
  • 深入浅出matplotlib(52): 理解imshow()函数的使用

    很多时候,需要数据分析,也需要显示一些图片,那么在matplotlib里是怎么样来显示图片呢?本文将带你来完成这样任务,请你耐心地学习它,毕竟世界以图片来描述的时候太多了,比如吃到…

    Python 2023年9月6日
    037
  • Python批量爬取美女写真集,只需27行代码,实现多页爬取!

    伙计们,我们有点不喜欢上一季,所以今天有点不同。 [En] Guys, we didn’t like the last series a little bit, so …

    Python 2023年5月24日
    076
  • Numpy函数总结

    引入Numpy库: import Numpy as np 函数名说明示例使用备注 创建数组np.arange(0,10,2)创建0-10步数为2的数组random. 随机数数组np…

    Python 2023年8月28日
    042
  • 5个节约生命的Python小技巧

    前言 Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加 简短精悍。根据我的经验,下面介绍常用的5个Pyth…

    Python 2023年5月24日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球