![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pandas数据处理
文章平均质量分 54
B.Bz
毛毛你是个好姑娘
展开
-
python数据处理----分组和聚合(高级)
什么是聚合?在SQL中我们经常使用 GROUP BY 将某个字段,按不同的取值进行分组, 在pandas中也有groupby函数分组之后,每组都会有至少1条数据, 将这些数据进一步处理返回单个值的过程就是聚合,比如 分组之后计算算术平均值, 或者分组之后计算频数,都属于聚合...原创 2022-05-10 16:05:11 · 3986 阅读 · 0 评论 -
python数据处理----Apply自定义函数和向量化函数
什么是Apply自定义函数?Pandas提供了很多处理数据的API,如果自己的需求不能被这些API满足的时候,我们就需要写自定义函数使用apply函数apply函数接收一个自定义函数,将DataFrame的 行/列 数据传递给自定义函数处理。apply函数类似for循环,遍历行/列的每一个元素,比原生的for循环效率高。Series使用apply自定义函数创建数据创建自定义函数调用apply函数传入自定义函数(传入的自定义函数不能加括号)原数据:import pan原创 2022-04-27 10:37:33 · 2199 阅读 · 3 评论 -
python数据处理----Pandas类型转换
转换为字符串类型tips['sex_str'] = tips['sex'].astype(str)转换为数值类型转为数值类型还可以使用to_numeric()函数DataFrame每一列的数据类型必须相同,当有些数据中有缺失,但不是NaN时(如missing,null等),会使整列数据变成字符串类型而不是数值型,这个时候可以使用to_numeric处理#创造包含'missing'为缺失值的数据tips_sub_miss = tips.head(10)tips_sub_miss.loc原创 2022-04-26 21:35:41 · 4058 阅读 · 0 评论 -
python数据处理----Pandas的数据类型
Numpy介绍Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。通过python的list嵌套也可以实现多维数组,为什么还要使用ndarray?对比ndarray和原生python列表的计算速度import randomimport timeimport numpy as npa = []# 随机100000000数字放到列表for i in range(100000000)原创 2022-04-26 21:10:58 · 386 阅读 · 0 评论 -
python数据处理----整理数据
为什么要整理数据对于这种“宽”数据,在展示方面来说没有什么问题,但是数据分析的时候我们需要“长”数据,这时候就需要整理数据整理成我们想要的样子。melt函数把字段拆分成数据id_vars参数:保留哪个字段(可以保留多个字段)var_name参数:为其余转换的字段起别名value_name参数:为值的那一列起别名pew_long = pd.melt(pew,id_vars='religion',var_name='income',value_name='count')print(pew原创 2022-04-26 11:35:27 · 2068 阅读 · 0 评论 -
python数据处理----处理缺失值(二)
删除缺失值删除缺失值会损失信息,并不推荐删除,当缺失数据占比较低的时候,可以尝试使用删除缺失值按行删除age为NaN的所有行都删了train1.dropna(subset=['Age'],how='any',inplace=True)按列删除train1.drop(['Age'],axis=1)填充缺失值常量填充# 把数据表内所有空值填充为0train_constant.fillna(0,inplace = True)使用统计量替换(缺失值所处列的平均值、中位数原创 2022-04-25 20:52:08 · 998 阅读 · 0 评论 -
python数据处理----处理缺失值(一)
何为缺失值?缺失值介绍很多的数据集中因为数据量过大,并不是每一条数据都有完整的字段,缺失值字面意思就是某一条数据中有为空的字段,为空的字段就为缺失值。在pandas中缺失值用NaN表示pandas中的NaN来自于Numpy库,Numpy中的缺失值有NaN、NAN和nan,三个值都是一样的。缺失值和别的类型不同,毫无意义,NaN不为0,也不是空字符串,NaN也不等于NaN。判断是否是缺失值isnull是缺失值时为True,否则为Falsenotnull与isnull相反原创 2022-04-25 11:20:56 · 1212 阅读 · 0 评论 -
python数据处理----数据合并
连接数据加载多份数据连接# 读取数据df1 = pd.read_csv('../data/concat_1.csv')df2 = pd.read_csv('../data/concat_2.csv')df3 = pd.read_csv('../data/concat_3.csv')print(df1)print(df2)print(df3)# 连接数据 concat([数据1,数据2])方法row_concat = pd.concat([df1,df2,df3])Dat原创 2022-04-24 20:32:16 · 3552 阅读 · 0 评论 -
python数据处理----pandas计算常用统计值和排序
计算常用统计值describe( )方法:college.describe()# count: 样本数据的大小# mean: 数据的平均值# std: 数据的标准差# min: 数据的最小值# 25%: 1/4位数,数据在25%时的值# 50%: 中位数# 75%: 3/4位数# max: 数据的最大值定义describe的include参数来决定统计什么类型:# 统计字符串类型的数据college.describe(include=object).T# count: 非空原创 2022-04-22 09:52:24 · 1061 阅读 · 0 评论 -
python数据处理----分组和聚合计算(入门)
分组# 读取tsv文件,分隔符为\tdf = pd.read_csv('../data/gapminder.tsv',sep='\t') print(df)groupby('以xx字段分组')以年份分组,查看所有国家年龄的平均值:df.groupby('year')['lifeExp'].mean()大洲为亚洲,以年份分组,查看年龄的平均值:df[df['continent'] == 'Asia'].groupby('year')['lifeExp'].mean()分组聚合原创 2022-04-21 11:44:16 · 982 阅读 · 0 评论 -
python数据处理----pandas导入和导入文件
pickle文件的导入和导出:保存为pickle文件:读取pickle文件:csv文件的导入和导出保存为csv文件:Excel文件的导入和导出保存为Excel文件:Series数据对象不能保存为Excel,需要转成DataFrame才能保存为Excelscientists.to_excel('./scientists_df.xlsx',sheet_name='scientists',index=False)读取Excel文件:scientists_df = pd.read_exc原创 2022-04-20 09:53:32 · 1587 阅读 · 0 评论 -
python数据处理----修改索引和行列
修改索引修改索引之前是自动生成的索引:使用set_index('以xx字段为索引',inplace=True)设置索引:inplace为True不用给新变量赋值,使用旧的变量名发现索引就已经被改变打开文件时就生成索引:index_col='以xx字段为索引'重置索引:reset_index()DataFrame修改行名和列名通过rename方法修改:提取index和columns属性修改再赋值:...原创 2022-04-20 09:24:47 · 6456 阅读 · 0 评论 -
python数据处理----数据对象的布尔索引和运算
数据对象的布尔索引DataFrame数据对象:打印ages > ages.mean()可以看出是一列布尔值,通过布尔值来控制是否显示数据:所以得出我们可以自定义一串布尔值来决定显示的数据:同理Series数据对象:数据对象的运算每一条数据都会+100:字符串相加会拼接:如果不是同一类型相加就会报错:字符串相乘是两个原字符串拼接:数据对象之间的元素个数不同,缺失的相加会变成NaN:数据对象的运算是根据索引进行的运算:DataFrame数据对象基本同理:原创 2022-04-19 20:18:10 · 721 阅读 · 0 评论 -
python数据处理----数据对象常用的属性、方法
读取CSV文件为DataFrame对象使用read_csv()方法读取csv数据成为DataFrame对象:import pandas as pd# pd.read_csv('路径')读取csv文件data = pd.read_csv('../data/nobel_prizes.csv')# 打印数据print(data)# DataFrame的head()方法 获取前5条数据data.head()发现数据有id读出的数据还是生成了索引,所以读取的时候以id为索引:# ind原创 2022-04-19 10:48:50 · 1707 阅读 · 0 评论 -
python数据处理----Pandas入门
Pandas的两种数据结构以及创建方式DataFrame和Series是Pandas最基本的两种数据结构DataFrame用来处理结构化数据(SQL数据表,CSV文件)Series用来处理单列数据,也可以把DataFrame当作Series对象组成的字典1. 创建Series对象Pandas中,Series是一维的容器,Series是DataFrame的每一列上面创建的Series对象数据第一列的0和1是默认索引,在创建Series对象时可以自定义索引:创建索引时索引的长度必须和数据的原创 2022-04-18 21:13:24 · 443 阅读 · 0 评论