数据分析(3)

数据分析(3)

索引和数据筛选

在我们导入数据将其存储在data变量中后,接下来就要开始对其进行操作了,要对指定的数据进行操作,首先要在一堆数据中确定它,因此需要索引

import pandas as pd
data = pd.read_csv("path")

列索引

方法:

访问一列数据

data["columns"]

访问多列数据:

data[["columns_1","colulmns_2]]

.loc属性

访问DataFrame对象中的.loc属性可以按照index访问行数据

内容比较简单,学会怎么调用即可,在此直接用代码说明

data.loc[index] #访问某一行
data.loc[起点index的值:结束index的值] #访问连续的某几行,左闭右闭
data.loc[[index1,index2,index3,...]] #访问不连续的某几行
data.loc[index,columns] #访问单个元素
data.loc[index(切片或列表),columns(切片或列表)] #访问多个元素

.iloc属性

访问DataFrame对象中的.iloc属性可以按照行位置访问行数据

基本与.loc相同,只需注意,1.loc是按照index访问,iloc是按照行位置访问

2.在访问连续的几行时,loc是左闭右闭iloc是左闭右开

.iloc[index] #访问某一行
.iloc[index0(起始),index1(结束)] #访问连续的某几行,左闭右开
.iloc[[index1,index2,index3...]] #访问不连续的某几行
.iloc[index,columns] #访问单个元素
data.iloc[index(切片或列表),columns(切片或列表)] #访问多个元素

布尔索引

1.有一个判断条件

条件表达式:

pandas通过条件表达式得到一个布尔型Series,再通过这个Series来索引数据

常见的比较运算符:==、>、<、>=、<=、!=

常见的逻辑运算符:&、|、~

data[data["cutdown_price]>0]
2.有两个判断条件

过程等同于先进行第一个判断,然后再此结果的基础上再进行第二个判断,依次类推

data[(data["cutdown_price"]>0) & (data["post_fee"]>0)]

格式转换和时间类型

时间类型

datetime 具体时间点,比如2024/04/20 0:03

period 时间区间,比如2024年三月十八日一整天

timedelta 时间间隔,比如3days,2 months

字符串转时间

pd.to_datetime()函数,将参数中这一列的数据,转化成时间格式

df['creat_time'] = pd.to_datetime(df['creat_time'])

时间转字符串

.strftime()函数将某一列时间类型的数据,转换为字符串类型,并变成"年-月"的格式

dt.后缀 datetime类型的数据要先通过后缀.dt转化

格式化输出 %Y代表时间的年,%m代表时间的月,%d代表时间的日。时间以外的其他的内容可以任意编辑。

df['pay_time'] = df['pay_time'].dt.strftime('%Y-%m')

格式转换函数

astype()函数,里面的参数是需要转化成为的数据类型。可以实现字符串、整型、浮点型、布尔型数据的相互转换。

1.整型、浮点型数据,可以直接使用.astype(str)函数。将数据类型转化为字符串类型。

2.字符串数据,当数据是数字(整数、小数都可以)时,可以使用.astype(float)函数,否则将会报错(参数传(int)会报错)

3.字符串数据,仅当数据是整数数字时,才能使用.astype(int)函数,否则将会报错。

4.浮点型数据,可以直接使用.astype(int)函数,使用后数据将只保留整数部分。

5.整型数据,可以直接使用.astype(float)函数,使用后数据将用0补充为1位小数。

6.整型、浮点型数据,可以直接使用.astype(bool)函数。

7.如果数据是整型0、浮点型0.0,则会转化为布尔值False;如果数据是非0,则会转化为布尔值True。


统计函数

1.求均值:.mean()

2.处理输出数据:.round()函数取整

round(n)三种情况

(1).n>0,表示保留小数点后n位小数

(2).n=0,取整

(3).n为负,-1,-2...依次保留到十位数,百位数

3.多列统计data[[传入列表]].mean()

import pandas as pd
data = pd.read_csv(r"D:\Programme\Python_programme\数据分析\素材\电商数据清洗.csv")

pay_mean = data['payment'].mean()
print(pay_mean.round())
print(pay_mean.round(2))

print(data[["payment","price","cutdown_price"]].mean())#多列统计

「安静」要你真正进入你在做的事情,它让每个时刻都变得足够重要,让你不必通过别人来过自己的生活。 ---艾林·卡格

相关推荐
用余生去守护4 分钟前
python报错系列(16)--pyinstaller ????????
开发语言·python
数据小爬虫@8 分钟前
利用Python爬虫快速获取商品历史价格信息
开发语言·爬虫·python
CircleMouse22 分钟前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
是Dream呀27 分钟前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
菜狗woc33 分钟前
opencv-python的简单练习
人工智能·python·opencv
最爱番茄味1 小时前
Python实例之函数基础打卡篇
开发语言·python
程序猿000001号1 小时前
探索Python的pytest库:简化单元测试的艺术
python·单元测试·pytest
木子Linux1 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
不惑_1 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云
engchina2 小时前
如何在 Python 中忽略烦人的警告?
开发语言·人工智能·python