Python自学入门(八):Pandas之数据处理
创始人
2025-05-28 05:15:38
0

Python自学入门(一):环境安装
Python自学入门(二):数据类型和运算符
Python自学入门(三):数据类型详解
Python自学入门(四):流程控制
Python自学入门(五):函数和模块
Python自学入门(六):Pandas之数据结构
Python自学入门(七):Pandas之文件操作

5.3 数据处理

#数据描述
data.describe()

在这里插入图片描述

5.3.1 统计

函数作用函数作用
sum()求和min()最小值
media()中位数max()最大值
mean()平均数mode()众数
abs()绝对值prod()乘积
std()标准差var()方差
idxmax()最大值的索引idxmin()最小值的索引
cumsum()计算前n个数的和cummax()计算前n个数的最大值
cummin()计算前n个数的最小值cumprod()计算前n个数乘积
# max min median等
data.max(0)  #0是按列计算 默认按列计算
data.idxmax()  #idxmin()
#每一列最大值-最小值
def myfunc(x):return x.max()-x.min()#选两列数据
data[['open','close']].apply(myfunc,axis=0)

5.3.2 空值

空值可能在数据中是缺失值,也可能使用符号代替,如问号,省略号等。读取数据,一般情况下,空值在DataFrame中显示NaN

import pandas
import numpy as np
data=pandas.read_csv("./data/NaN_data.csv")
data
#判断是否为null,如果该单元格是空值,则显示True(表格形式)
pandas.notnull(data)
#利用numpy判断是否具有空值,表格中包含一个False就是False
np.all(pandas.notnull(data))pandas.isnull(data) #和notnull相反#替换缺失值 取均值填充
data['tradecount'].fillna(data['tradecount'].mean(),inplace=True)
data2=pandas.read_csv("./data/NaN_data.csv")
data2.dropna()  #直接删除缺失值

对于非NaN的空值,比如问号,需要替换掉对应的占位符

data3=pandas.read_csv("./data/Null_data.csv")
data3=data3.replace(to_replace='?',value=np.nan)  #替换成NaN

5.3.3 数据离散化

nba=pandas.read_csv("./data/nba.csv")
nba.head()

在这里插入图片描述

weight = nba['Weight']
# 自动分10组
weight_qcut=pandas.qcut(weight,10)
weight_qcut

在这里插入图片描述

weight_qcut.value_counts()

在这里插入图片描述

# 指定分组区间
bins = [160,180,200,220,240,260,280]
hcut = pandas.cut(weight,bins)
#统计每个区间有多少
hcut.value_counts()
# one-hot编码(独热编码)
dummies=pandas.get_dummies(hcut)
dummies

在这里插入图片描述

5.3.4 数据表合并

#直接合并
pandas.concat([nba,dummies],axis=1) #axis 1行 0 列

表连接,根据一定条件,把两个表中的数据合并到一起,关联的数据合并到一行

left=pandas.read_csv('./data/table1.csv')
right=pandas.read_csv('./data/table2.csv')
result1=pandas.merge(left,right,how='inner',on=['key'])
result2=pandas.merge(left,right,how='left',on=['key'])
result3=pandas.merge(left,right,how='right',on=['key'])
result4=pandas.merge(left,right,how='outer',on=['key'])

在这里插入图片描述

在这里插入图片描述

5.3.5 交叉表和透视表

交叉表查询是将来源于某个表中的字段进行分组,一组列在交叉表左侧,一组列在交叉表上部,并在交叉表行与列交叉处显示表中某个字段的各种计算值。

import pandas
import numpy
import matplotlib.pyplot as plt
data=pandas.read_csv("./data/stock_day.csv")
data=data.set_index('date') 
#将日期是星期几提取出来
date=pandas.to_datetime(data.index).weekday
data['week']=date #加入到数据集中
data['rise']=numpy.where(data['close']>data['open'],1,0) #计算收盘比开盘价高的
count=pandas.crosstab(data['week'],data['rise']) #交叉表

在这里插入图片描述

计算比例

sum=count.sum(axis=1).astype(numpy.float32)
pro=count.div(sum,axis=0)

在这里插入图片描述

数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。

#直接使用透视表,省略之前的计算
data.pivot_table(['rise'],index='week')

在这里插入图片描述

5.3.6 分组聚合

data=pandas.read_excel("./data/group_data.xlsx")
data.head()

在这里插入图片描述

data.groupby(['color'])['price1'].max()

在这里插入图片描述

data.groupby(['color'],as_index=False)['price1'].max()

在这里插入图片描述

相关内容

热门资讯

40+条苏州旅游专线来啦!端午... 端午将至 粽香情浓 正是畅游苏州好时节! 端午期间(5月31日—6月2日) 苏州公交集团开通40+条...
新疆纯玩团七天六晚游人均多少钱... 新疆,这片广袤无垠的土地,一直是我心心念念的旅游目的地。它有着壮美的自然风光,神秘的西域文化,还有令...
【2023】ansible-高... 简单介绍 目录Tag:任务标签Include:任务复用Ignore_er...
opengl初识 1.与OPENGL相关的一些名词render -> 渲染ray tracing ->光线跟踪phot...
transfromer-XL论...         Transformer-XL来自于论文《Transformer-XL: Attent...
无论炒什么肉,都不要直接下锅炒... #图文打卡计划#大家好呀!今天咱们来聊聊一个厨房里永恒的话题——怎么把肉炒得又嫩又滑还不粘锅。相信很...
《国家名厨》第七卷入编人物:林... 林建明,男,汉族,1969年10月出生,广东肇庆人,高级烹调师,国家名厨,粤菜烹饪大师。 他精通粤...
原创 用... 标题:用“气球”做成的稀罕小吃,很多人都没见过,顾客都是一次买10个。 在这个充满创意与惊喜的时代...
唱响“椒”响曲 主播团在萍乡品... 央视网消息(记者 罗希) 5月27日,“行神州‘播’天下——优质主播中国行”走进“中国辣都”江西省萍...
白酒+在前,名仁在后 文|欧阳千里 酒水行业研究者 (ID:qianlizhiku) 多数人喜欢讨论战略,但他们往往混淆了...
原创 教... 标题:在家做正宗冰冰凉凉滴朝鲜冷面! 亲爱的美食探索者们,今天我要与大家分享一道令人垂涎欲滴的佳肴...
原创 牙... 标题:牙齿不好吃不动这道菜,五岁女儿吃得比猪还香。 在美食的世界里,每一口都是对味觉的极致追求。今...
原创 南... #南瓜别再煮着吃,学会这种做法,金黄又酥脆,就连大人都抢着吃! 在美食的世界里,南瓜一直是那个低调...
这碗擀面皮,滋味十足 在陕西,一碗源自宝鸡的擀面皮,不仅是餐桌上的家常味,更融入了关中地区的风土人情。那一口酸香,拌着特制...
原创 别... 夏天,算是我们一年中脾胃比较弱的阶段了。 身体的能量不足,很容易被湿浊困住,食欲也提不起来。 把补脾...
戚风蛋糕蓬松不塌的7个细节,湿... 上周闺蜜西西在朋友圈哀嚎:"第三次做戚风了!它又双叒叕在烤箱里表演自由落体!"配图里那个缩成蛋挞的蛋...
原创 百... 标题:百吃不厌的一道家常菜,下酒又下饭,就着它能吃下三碗饭! 在众多美食中,有一种家常菜以其独特的...
「文心一言」内测详细使用体验 ★观前提示:以下内容仅为内测测试内容,不代表未来正式版如何,...
江南水乡古镇联合申遗,吴江黎里... 在江南水乡,黎里古镇犹如一颗璀璨的明珠,与苏州的周庄、甪直、同里,以及沙溪、锦溪、震泽等众多古镇一同...