首页 > 其他分享 >数据处理

数据处理

时间:2024-07-18 22:51:53浏览次数:14  
标签:df 列名 数据类型 print names 数据处理 数据

数据处理:

主要利用的库

import numpy as np
import pandas as pd

函数的使用:

1.读取:

path = "路径"
c = pd.read_csv(path,sep="")参数sep是数据的分割符号,如果不输入在读取csv文件中将默认为“,”
返回的内容是属于pandas库的特殊数据类型DataFrame。
在读取过程中,该函数会根据给出的数据自行判断数据类型,如果导入的数据类型并不是希望的数据类型,可以通过下面这个函数规定。如下,将column_name这一列的数据规定为int64型
df = pd.read_csv('example.csv', dtype={'column_name': 'int64'})

如果文件没有列名,我们也可以通过先构建一个
names列表储存列名利用read中的names参数来添加列名。

df.rename(columns={'A': 'X', 'B': 'Y'})
其中字典的key值为原列名,value为修改后的列名。
df = pd.read_csv('example.csv',names=names)# 前一个names是参数名,后一个是具体参数。
需要特别注意的是,如果数据本身有列名,本身的列名会被挤去第二行,另外。names中的列名,会与实际的列名右对齐,也就是说,如果数据的列数大于names中名字的个数,左侧的几列数据会出现没有添加列名的情况。

2.观察数据

df 为已经读取的数据

df.info() 查看的数据为其中每列的数据类型,以及数据中的非空缺的数值数目。
# 输出内容为数据的列名,每列数据的数量,数据类型# 不需要print也能够输出相应信息。
df.describe() # 输出的内容为每列的
        count: 非NA/非空值的数量。
        mean: 平均值(均值)。
        std: 标准差(标准偏差)。
        min: 最小值。
        25%: 第一四分位数(Q1),即数据集中最小的25%的数据的最大值。
        50%: 中位数(第二四分位数,Q2)。
        75%: 第三四分位数(Q3),即数据集中最大的25%的数据的最小值。
        max: 最大值。
# 如果要提取这些数字我们可以 a = df[列名].max()/mean()/std()
df.columns表示为df数据的列名 # 在处理数据时我们也可以通过
# df.columns = names # 来将列名替换成names中的数据,此时names中的列名量必须等于df中的列数。




指定观察用iloc或者loc:



# iloc
# 获取第一行的数据
row1 = df.iloc[0]
print(row1)

# 获取第二列的数据
col2 = df.iloc[:, 1]
print(col2)

# 获取第二行第二列的单个值
value = df.iloc[1, 1]
print(value)

# 获取多个行和多个列的数据
selected = df.iloc[[0, 2], [0, 2]]
print(selected)



# loc
row1 = df.loc['row1']
print(row1)

# 获取第二列的数据
col2 = df.loc[:, 'B']
print(col2)

# 获取第二行第二列的单个值
value = df.loc['row2', 'B']
print(value)

# 获取多个行和多个列的数据
selected = df.loc[['row1', 'row3'], ['A', 'C']]
print(selected)



3.数据清洗:

	# 在观察数据之后,我们要清洗的内容包括缺失值,异常值。重复值
    处理缺失值的方法:我们可以将缺失值设定为一个不在数据中存在存在的数值,比如0,-1,也可以设置成bool型的False。
    对于异常值,我们可以根据常识挑选出这些异常值,比如说挑选挑选出网龄大于200岁的数据,或者年龄为负数的人。异常值的处理方式,如果即便删除异常值所在行对最后结果产生影响不大的情况下,我们可以删除异常值所在的一整行数据,比如你有几万个数据,其中的异常值只有一二十,那根据情况,我们可以选择直接删除这一行数据。-->这么做就是直接抹去存在异常值的数据。在对最终结果影响不大的前提下,我们可以通过用正常值的平均值或者中位数来代替这个位置的数据 --> 如果这样处理的话,程序的分析内容将减小异常值的影响,从而在这一行分析除了异常意外列的数据对结果的影响。
    处理重复值
    df.drop.duplicates("列名",keep="first")# 保留重复的第一个
    a = df[df[列名] > 100]
    此时a即为在df某一列中满足该列数字大于100的所有的行,前提:此处的数据类型应为确切的整形。
    df[列名].isnull() 将返回该列名下数据为0的那一整行
    利用isnull可以区分出缺失值
    

4.数据处理

df = df.frop_duplicates(["x",'y'])# 找出xy两列的组合方式
df.groupby(['x','y'])
df['体力'] = df['体力'].apply(lambda x:"high" if int(x) > 100 else 'low' if int(x) < 50 else 'mid')集体调整数字


5数据整理:

df = df.sort_values(by='列名',ascending=False).reset_index(drop=True) # ascending=False: 表示降序排序。如果设置为True,则表示升序排序。
# reset_index(): 会重置数据框的索引。默认情况下,重置索引会将旧索引添加为数据框的一个列。
# drop=True: 表示在重置索引时,不将旧索引添加为数据框的一个列。这样可以避免数据框中出现重复的索引列。

未完待续!

标签:df,列名,数据类型,print,names,数据处理,数据
From: https://www.cnblogs.com/zonghongqi/p/18310550

相关文章

  • Java中的大规模数据处理与MapReduce设计
    Java中的大规模数据处理与MapReduce设计大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着数据规模的不断增大,大规模数据处理变得越来越重要。在Java领域,MapReduce作为一种经典的数据处理模型,在处理海量数据时展现了强大的能力。本文将介绍如何在Java中......
  • 常见的SQL数值型数据处理函数
    在数据驱动的时代,SQL已成为数据分析和管理中不可或缺的工具。无论是处理简单的查询还是复杂的数据分析,SQL都能帮助我们高效地完成任务。然而,在处理数值型数据时,你是否感到过困惑,不知道如何运用SQL中的各种函数来实现数据处理? 究竟有哪些常见的SQL数值型数据处理函数,它......
  • Python文件与数据处理:掌握I/O操作与序列化的艺术
    在Python编程的世界里,文件操作和数据序列化犹如画家手中的画笔和调色板,是构建强大应用程序不可或缺的工具。本文将深入探讨open()函数的巧妙使用、JSON和pickle模块的序列化魔法,以及os模块在文件系统操作中的关键角色。让我们一同揭开Python文件与数据处理的神秘面纱,掌握I/O操......
  • 8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台 双DSP 6U CPCI架
    基于双TMS320C6678+XC7K420T的6UCPCIExpress高速数据处理平台 1、板卡概述板卡由北京太速科技自主研发,基于6UCPCI架构,处理板包含双片TIDSPTMS320C6678芯片;一片Xilinx公司FPGAXC7K420T-1FFG1156芯片;六个千兆网口(FPGA两个,DSP四个);DSP与FPGA之间Rap......
  • Panda数据处理
    一、Pandas简介Pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib第三方数据分析库,与后者共同构成python数据分析基础工具包,享有数据三剑客之名。正因为pandas是在numpy基础上实现的,其核心数据结构与numpy的ndarray十分相似,但pandas与numpy的关系不是替代,而......
  • python库(13):Tablib库简化数据处理
    1 Tablib简介数据处理是一个常见且重要的任务。无论是数据科学、机器学习,还是日常数据分析,都需要处理和管理大量的数据。然而,标准库中的工具有时显得不够直观和简便。这时,我们可以借助第三方库来简化数据处理流程。Tablib就是这样一个强大的数据处理库,它提供了一套简单易用......
  • 9、Oracl中的数据处理
    最近项目要用到Oracle,奈何之前没有使用过,所以在B站上面找了一个学习视频,用于记录学习过程以及自己的思考。视频链接:【尚硅谷】Oracle数据库全套教程,oracle从安装到实战应用如果有侵权,请联系删除,谢谢。学习目标:使用DML语句向表中插入数据更新表中数据从表中删除数据......
  • 掌握字典:开启数据处理的新大门
    一.字典的定义在Python中,字典是一种非常重要的数据结构,它提供了一种存储键值对的方式。与列表(List)和元组(Tuple)等线性数据结构不同,字典通过键(Key)来访问其元素,而不是通过索引。这种特性使得字典成为处理需要快速查找、插入和删除元素的数据集时的理想选择。字典在许多编程语言中......
  • Sentinel-1 Level 1数据处理的详细算法定义(二)
    《Sentinel-1Level1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level1处理算法和方程,以便生成Level1产品。这些算法适用于Sentinel-1的Stripmap、InterferometricWide-swath(IW)、Extra-wide-swath(EW)和Wave模式。今天介绍的内容如下:S......
  • [NodeJS] Streams流式数据处理
    在现代应用开发中,数据处理的效率和资源管理尤为重要。NodeJS作为一种高效的JavaScript运行时环境,通过其强大的流(Stream)功能,提供了处理大规模数据的便捷方式。流式数据处理不仅能够优化内存使用,还可以提高数据处理的实时性和效率。下文将介绍NodeJS中的流概念、流的类型以及如何利......