Python自学入门(八):Pandas之数据处理
创始人
2025-05-28 05:58:20
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()

在这里插入图片描述

相关内容

热门资讯

我最敬佩的人400字作文 我最敬佩的人400字作文(精选20篇)  在日常生活或是工作学习中,大家都跟作文打过交道吧,通过作文...
家乡的四季的作文 家乡的四季的作文(精选24篇)  在平平淡淡的日常中,大家都经常看到作文的身影吧,作文是一种言语活动...
以精彩的六一为题的作文 以精彩的六一为题的作文  无论是在学校还是在社会中,说到作文,大家肯定都不陌生吧,作文根据体裁的不同...
博客小学作文 博客小学作文(通用13篇)  在平凡的学习、工作、生活中,大家对作文都不陌生吧,作文一定要做到主题集...
这个春天的作文 关于这个春天的作文(精选42篇)  无论是身处学校还是步入社会,大家都不可避免地会接触到作文吧,作文...
唐人神香肠小学作文 唐人神香肠小学作文  唐人神香肠,难道是食物不成?不,他只是我们新来的科学老师的外号罢了。  "唐人...
和平的作文300字 关于和平的作文300字5篇  在现实生活或工作学习中,大家一定都接触过作文吧,作文根据写作时限的不同...
欢度国庆作文 欢度国庆作文五篇  在日常学习、工作和生活中,大家都不可避免地要接触到作文吧,作文是人们以书面形式表...
亲爱的哥哥作文 亲爱的哥哥作文(8篇)  在日常学习、工作抑或是生活中,大家或多或少都会接触过作文吧,作文要求篇章结...
描写人物特点的作文 描写人物特点的作文(精选44篇)  无论是在学校还是在社会中,大家都不可避免地会接触到作文吧,根据写...
《不能说的秘密》的歌词 《不能说的秘密》的歌词  不能说的秘密获得第44届台湾电影金马奖之最佳电影原创歌曲奖。下面,小编为大...
黄鼠狼给鸡拜年作文 黄鼠狼给鸡拜年作文【热】(精选15篇)  在日常学习、工作或生活中,大家一定都接触过作文吧,作文是通...
作文:我的学与玩 作文:我的学与玩  我们在尽情的玩耍的时候,常常忘记了学习;我们在学习的时候, 又经常想着玩,我的学...
雨下得很大的比喻句 雨下得很大的比喻句  1、雨下得很大,像瓢泼的一样!  2、雨下得很大,真像一面大瀑布!  3、雨下...
尊敬老人小学作文 尊敬老人小学作文(精选12篇)  在学习、工作或生活中,大家都尝试过写作文吧,写作文可以锻炼我们的独...
我有话要说的歌词 我有话要说的歌词  对我来说 说的太多  也许不能 让我改变什么  你凭什么说 是谁对谁错  我的耳...
以半春为题的作文 以半春为题的作文  凌晨四点醒来,发现海棠未眠。  如果一朵花很美,那么有时我会不由自主地想到:“要...
福州小吃的历史典故 有关福州小吃的历史典故  福州小吃是汉族饮食文化的重要组成部分,属于福州菜。它的历史和影响与福州菜一...
中国寓言故事《负荆请罪》 中国寓言故事《负荆请罪》  故事:在现实认知观的基础上,对其描写成非常态性现象。是文学体裁的一种,侧...
人生需要做点“无用功”议论文 人生需要做点“无用功”议论文  看到题目就会想知道什么是“无用功”?按照最本原的出处,“无用功”一词...