【博学谷学习记录】超强总结,用心分享 您所在的位置:网站首页 dataframe去除重复行 【博学谷学习记录】超强总结,用心分享

【博学谷学习记录】超强总结,用心分享

2023-05-20 01:51| 来源: 网络整理| 查看: 265

完文章后,目录可以自动生成,如何生成可参考右边的帮助文档`

文章目录 一、pandas的数据结构二、series对象2.1.创建Series对象2.2.Series对象常用API 三、DataFrame3.1 创建DF对象3.2 DataFrame对象常用API4.3 DataFrame对象的运算 总结

一、pandas的数据结构 DataFrame Series 索引列 索引名、索引值索引下标、行号 数据列 列名列值,具体的数据

其中最核心的就是Pandas中的两个数据结构:DataFrame和Series

二、series对象

Series也是Pandas中的最基本的数据结构对象,下文中简称s对象;是DataFrame的列对象,series本身也具有索引。

Series是一种类似于一维数组的对象,由下面两个部分组成:

values:一组数据(numpy.ndarray类型)index:相关的数据索引标签;如果没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。 2.1.创建Series对象

代码如下(示例): 通过列表创建:

import pandas as pd # 使用默认自增索引 s2 = pd.Series([1,2,3]) s2 s3 = pd.Series([1, 2, 3], index=['A', 'B', 'C']) s3

结果如下: 在这里插入图片描述

代码如下(示例): 通过字典或元组创建:

test = (1,2,3,4,5,6) s4 = pd.Series(test)

在这里插入图片描述

dist = {'A':1,'B':2,'C':3,'D':4,'E':5,'F':6} s5 = pd.Series(dist ) s5

在这里插入图片描述

2.2.Series对象常用API s6 = pd.Series([i for i in range(6)], index=[i for i in 'ABCDEF']) # s对象有多少个值,int len(s6) s6.size # s对象有多少个值,单一元素构成的元组 (6,) s6.shape # 查看s对象中数据的类型 s6.dtypes # s对象转换为list列表 s6.to_list() # s对象的值 array([0, 1, 2, 3, 4, 5], dtype=int64) s6.values # s对象的值转换为列表 s6.values.tolist() # s对象可以遍历,返回每一个值 for i in s6: print(i) # 下标获取具体值 s6[1] # 返回前2个值,默认返回前5个 s6.head(2) # 返回最后1个值,默认返回后5个 s6.tail(1) # 获取s对象的索引 Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object') s6.index # s对象的索引转换为列表 s6.index.to_list() # s对象中数据的基础统计信息 s6.describe() # 返回结果及说明如下 #count 6.000000 # s对象一共有多少个值 #mean 2.500000 # s对象所有值的算术平均值 #std 1.870829 # s对象所有值的标准偏差 #min 0.000000 # s对象所有值的最小值 #25% 1.250000 # 四分位 1/4位点值 #50% 2.500000 # 四分位 1/2位点值 #75% 3.750000 # 四分位 3/4位点值 #max 5.000000 # s对象所有值的最大值 #dtype: float64 # 标准偏差是一种度量数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。 # 四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。 # series对象转换为df对象 s6.to_frame() s6.reset_index() 三、DataFrame 3.1 创建DF对象

DataFrame的创建有很多种方式

Serires对象转换为df:s.to_frame()以及s.reset_index()读取文件数据返回df:pd.read_csv('csv格式数据文件路径')的方式获取了df对象使用字典、列表、元组创建df:接下来就展示如何使用字段、列表、元组创建df 使用字典加列表创建df,使默认自增索引 df1_data = { '日期': ['2021-08-21', '2021-08-22', '2021-08-23'], '温度': [25, 26, 50], '湿度': [81, 50, 56] } df1 = pd.DataFrame(data=df1_data) df1 在这里插入图片描述使用列表加元组创建df,并自定义索引df2_data = [ ('2021-08-21', 25, 81), ('2021-08-22', 26, 50), ('2021-08-23', 27, 56)] df2 = pd.DataFrame( data=df2_data, columns=['日期', '温度', '湿度'], index = ['row_1','row_2','row_3'] # 手动指定索引) df2

在这里插入图片描述

3.2 DataFrame对象常用API

DataFrame对象常用API与Series对象几乎相同

# 返回df的行数 len(df2) # df中数据的个数 df2.size # df中的行数和列数,元组 (行数, 列数) df2.shape # 返回列名和该列数据的类型 df2.dtypes # 返回nparray类型的2维数组,每一行数据作为一维数组,所有行数据的数组再构成一个二维数组 df2.values # 返回df的所有列名 df2.columns # df遍历返回的只是列名 for col_name in df2: print(col_name) # 返回df的索引对象 df2.index # 返回第一行数据,默认前5行 df2.head(5) # 返回倒数第1行数据,默认倒数5行 df2.tail(5) # 返回df的基本信息:索引情况,以及各列的名称、数据数量、数据类型 df2.info() # series对象没有info()方法 # 返回df对象中所有数字类型数据的基础统计信息 # 返回对象的内容和Series.describe()相同 df2.describe() # 返回df对象中全部列数据的基础统计信息 df2.describe(include='all') 4.3 DataFrame对象的运算

​ 当DataFrame和数值进行运算时,DataFrame中的每一个元素会分别和数值进行运算,但df中的数据存在非数值类型时不能做加减法运算

​ 两个DataFrame之间、以及df和s对象进行计算,和2个series计算一样,会根据索引的值进行对应计算:当两个对象的索引值不能对应时,不匹配的会返回NaN

df和数值进行运算 f2 * 2 # 不报错 df2 + 1 # 报错,因为df2中有str类型(Object)的数据列 df和df进行运算 # 索引完全不匹配 df1 + df2 # 构造部分索引和df2相同的新df df3 = df2[df2.index!='row_3'] df3 # 部分索引相同 df2 + df3 # 返回结果如下 日期 温度 湿度 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN row_1 NaN NaN NaN row_2 NaN NaN NaN row_3 NaN NaN NaN 日期 温度 湿度 row_1 2021-08-21 25 81 row_2 2021-08-22 26 50 日期 温度 湿度 row_1 2021-08-212021-08-21 50.0 162.0 row_2 2021-08-222021-08-22 52.0 100.0 row_3 NaN NaN NaN

总结:在Pandas中,两个df对象如果进行加法运算,则要遵循以下原则:

① 索引相同,则相同索引行进行合并操作

② 索引不同,则也保留所有元素,但是元素值都设置为NaN

总结

在Pandas中,两个df对象如果进行加法运算,则要遵循以下原则:

① 索引相同,则相同索引行进行合并操作

② 索引不同,则也保留所有元素,但是元素值都设置为NaN



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有