诸暨企业网站建设著名设计网站deviantart的id模板

张小明 2025/12/30 22:08:08
诸暨企业网站建设,著名设计网站deviantart的id模板,企业网站做优化排名象客,网站功能的介绍Hands-on data analysis— 动手学数据分析 写在最前面 这门课程得主要目的是通过真实的数据#xff0c;以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后#xff0c;我们接下来我们要正式的开始数据分析的实战教学#xff0c;完成kagg…Hands-on data analysis— 动手学数据分析写在最前面这门课程得主要目的是通过真实的数据以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后我们接下来我们要正式的开始数据分析的实战教学完成kaggle上泰坦尼克的任务实战数据分析全流程。这里有两份资料需要大家准备图书《Python for Data Analysis》第六章和 baidu.com google.com善用搜索引擎来自Github开源项目Github项目地址作者仅对于学习中遇到的问题进行标注整理 供大家学习讨论本实验数据集和资料可以私信作者 鼓励有条件的同学自行到Github上查阅下载一、这篇笔记你将学到什么这篇笔记是基于 Kaggle 泰坦尼克项目的数据从 0 带你走一遍数据分析最开始的几步数据加载 → 初步观察 → 简单保存与导出同时熟悉numpy和pandas的常用操作。1. 数据加载把数据“请进来”如何导入numpy、pandas并在报错时自己安装库。使用相对路径和绝对路径加载本地 CSV 文件搞清楚“当前工作目录”的概念。理解pd.read_csv()与pd.read_table()的区别默认分隔符不同以及.csv、.tsv、.xlsx这几种常见数据格式应该如何读取。学会用chunksize按块读取大文件明白为什么要“逐块读取”来节省内存。学会把英文表头替换为中文列名并把“乘客ID”设置为索引同时理解inplaceTrue是“原地修改”。2. 初步观察快速给数据做个“体检”使用df.info()了解数据的整体结构行数、列数、每列缺失值情况、数据类型和内存占用。使用head()/tail()查看前几行、后几行快速感受数据长什么样。使用isnull()判断缺失值理解哪些东西会被视为“空”比如 NaN、None、NaT哪些不会比如 0、空字符串。延伸出更多观察维度的思路描述性统计describe、类别分布value_counts、极端值和相关性等为后续真正的数据分析打基础。3. 保存数据把修改结果“带走”学会把修改过列名、索引后的 DataFrame 导出为新的 CSV 文件。知道文件默认保存位置是当前工作目录也能指定保存路径。知道如何通过设置编码解决中文乱码问题如utf-8、gbk等。1 第一章数据加载1.1 载入数据数据集下载 https://www.kaggle.com/c/titanic/overview1.1.1 任务一导入numpy和pandasimportnumpyasnpimportpandasaspd【提示】如果加载失败学会如何在你的python环境下安装numpy和pandas这两个库1.1.2 任务二载入数据(1) 使用相对路径载入数据(2) 使用绝对路径载入数据dfpd.read_csv(train.csv)df.head(3)# E:\pycharm\Python3_9\hands-on-data-analysis\第一单元项目集合\train.csv# 注意Windows系统的路径中反斜杠\需要用双反斜杠\\或者斜杠/来表示否则会报错dfpd.read_table(E:\\pycharm\\Python3_9\\hands-on-data-analysis\\第一单元项目集合\\train.csv,sep,)df.head(3)【提示】相对路径载入报错时尝试使用os.getcwd()查看当前工作目录。cwd 是 Current Working Directory 的缩写importos# 打印当前工作目录print(当前工作目录:,os.getcwd())【思考1.】知道数据加载的方法后试试pd.read_csv()和pd.read_table()的不同如果想让他们效果一样需要怎么做了解一下’.tsv’和’.csv’的不同如何加载这两个数据集【总结】加载的数据是所有工作的第一步我们的工作会接触到不同的数据格式eg:.csv;.tsv;.xlsx,但是加载的方法和思路都是一样的在以后工作和做项目的过程中遇到之前没有碰到的问题要多多查资料吗使用google了解业务逻辑明白输入和输出是什么。【思考1.】pd.read_csv()和pd.read_table()的区别以及如何处理.csv和.tsv文件。1.pd.read_csv()与pd.read_table()的主要区别这两个函数在 Pandas 中都用于从文本文件加载数据到 DataFrame 中但它们被设计用来处理不同默认分隔符的文件。特性pd.read_csv()pd.read_table()默认分隔符(sep参数)逗号(,)制表符(\t)使用场景主要用于.csv文件Comma Separated Values。主要用于.tsv文件Tab Separated Values或通用文本文件。默认索引列无index_colNone无index_colNone在功能上pd.read_csv()是更常用的和推荐的。实际上pd.read_table()只是pd.read_csv()的一个包装器Wrapper它在内部调用pd.read_csv()并自动将分隔符设置为制表符。如何让它们效果一样要让pd.read_csv()和pd.read_table()读取同一个文件并产生相同的效果你需要手动设置它们的分隔符 (sep) 参数使其保持一致场景 A读取逗号分隔的文件.csv函数代码说明pd.read_csv()pd.read_csv(data.csv)使用默认值逗号pd.read_table()pd.read_table(data.csv, sep,)手动指定分隔符为逗号sep 是 Separator分隔符的缩写场景 B读取制表符分隔的文件.tsv函数代码说明pd.read_csv()pd.read_csv(data.tsv, sep\t)手动指定分隔符为制表符pd.read_table()pd.read_table(data.tsv)使用默认值制表符2..tsv与.csv的区别及加载方法.csv和.tsv都是常用的纯文本数据存储格式它们的主要区别在于字段列之间是如何被分隔开的。什么是分隔符分隔符Delimiter是一种特殊的字符用于将数据行中的不同字段分开。文件后缀全称含义分隔符.csvCommaSeparatedValues逗号分隔值逗号(,).tsvTabSeparatedValues制表符分隔值制表符(\t)要读取.xlsx文件Microsoft Excel 文件需要使用Pandas配合一个专门处理 Excel 格式的引擎。用于读取.xlsx文件的 Pandas 函数是pd.read_excel()。读取.xlsx文件的步骤1. 安装必要的库Pandas 自己无法直接处理.xlsx这种复杂格式的 Excel 文件它需要一个后端库作为“引擎”来解析文件。最常用的库是openpyxl。如果你还没有安装需要在命令行或终端运行以下命令pipinstallpandas openpyxl2. 使用pd.read_excel()安装完openpyxl后你就可以在 Python 中使用pd.read_excel()函数来读取.xlsx文件了。importpandasaspd# 假设你的文件名为 my_data.xlsxfile_pathmy_data.xlsx# 使用 pd.read_excel() 读取文件dfpd.read_excel(file_path)print(df.head())1.1.3 任务三每1000行为一个数据模块逐块读取chunkerpd.read_csv(train.csv,chunksize100)# chunksize1000 关键参数 指定每次读取文件时要读取的行数。这里设置为 100行。print(fchunker 的类型是:{type(chunker)})# 2. 遍历 chunkerchunk_count0forchunkinchunker:chunk_count1print(-*30)print(f这是第{chunk_count}个数据块 (chunk))print(f数据块的类型是:{type(chunk)})print(f数据块的行数是:{len(chunk)})print(\n数据块 (chunk) 的具体内容:)# 打印每个数据块的前几行以展示它是 DataFrameprint(chunk.head(3))# chunker 每次迭代都会返回一个包含 1000 行数据的 DataFrameforchunkinchunker:# 这里的 chunk 就是一个标准的 Pandas DataFrame但它只有 1000 行。# 可以在这里对这 1000 行数据进行计算、筛选或聚合等操作print(f当前数据块的行数:{len(chunk)})# 示例计算每块数据的平均值averagechunk[Age].mean()print(f平均值:{average})# 如果需要可以将每块处理结果保存到外部列表或文件中# results.append(average)输出结果如下chunker 的类型是:classpandas.io.parsers.readers.TextFileReader------------------------------ 这是第1个数据块(chunk)数据块的类型是:classpandas.core.frame.DataFrame数据块的行数是:100数据块(chunk)的具体内容:......【思考1.】什么是逐块读取为什么要逐块读取呢【提示】大家可以chunker(数据块)是什么类型用for循环打印出来出处具体的样子是什么chunker(数据块)是什么类型用for循环打印出来出处具体的样子是什么chunker 的类型是: class ‘pandas.io.parsers.readers.TextFileReader’上方程序有chunker迭代出的内容什么是逐块读取为什么要逐块读取呢Chunks是一个使用Pandas库来读取大型 CSV 文件时非常高效的技巧。核心作用是“不要一次性把整个大文件加载到内存中而是把它分成一个个小的‘数据块’Chunks可以逐块处理。”chunker pd.read_csv(train.csv, chunksize100)代码逐段解释代码段含义pd.read_csv(...)告知 Pandas 库我们要读取一个 CSV 文件。train.csv指定要读取的文件名假设这是一个很大的训练数据集文件。chunksize1000关键参数指定每次读取文件时要读取的行数。这里设置为1000 行。chunker ...将读取的结果赋值给一个名为chunker的变量。chunksize参数的作用和原理当一个文件非常大比如有几百万行甚至几 GB时你的计算机内存可能不足以一次性存储整个文件或者一次性加载会导致程序运行缓慢甚至崩溃。设置了chunksize后pd.read_csv()就不会返回一个完整的DataFrame而是返回一个特殊的迭代器 (Iterator)对象我们在这里命名为chunker。1.chunker是什么chunker不是一个完整的 DataFrame它是一个可以被循环的对象。你可以把它想象成一个**“文件搬运工”**。你告诉搬运工“每次只给我搬 1000 行数据。”2. 如何使用chunker你需要使用for循环来从chunker中逐块地取出数据进行处理3. 为什么使用分块读取节省内存 (Memory Efficiency)你的程序永远只在内存中处理 1000 行数据而不是整个文件。处理超大文件 (Big Data)即使文件大小超过了你电脑的可用内存也可以完整地处理它。进度跟踪 (Progress Tracking)可以清晰地知道处理数据的进度。总而言之chunker pd.read_csv(train.csv, chunksize1000)的作用就是开启了分批加载大文件的模式以提高内存使用效率和处理速度。1.1.4 任务四将表头改成中文索引改为乘客ID [对于某些英文资料我们可以通过翻译来更直观的熟悉我们的数据]PassengerId 乘客IDSurvived 是否幸存Pclass 乘客等级(1/2/3等舱位)Name 乘客姓名Sex 性别Age 年龄SibSp 堂兄弟/妹个数Parch 父母与小孩个数Ticket 船票信息Fare 票价Cabin 客舱Embarked 登船港口dfpd.read_csv(train.csv,names[乘客ID,是否幸存,仓位等级,姓名,性别,年龄,兄弟姐妹个数,父母子女个数,船票信息,票价,客舱,登船港口],index_col乘客ID,header0)df.head()# 查看数据前5行输出(默认)如果想要多查看几行可以对head()传参【思考】所谓将表头改为中文其中一个思路是将英文列名表头替换成中文。还有其他的方法吗将表头改成中文并将索引改为乘客ID可以通过以下几种方式实现方法 1在读取数据时直接指定列名和索引使用pd.read_csv()的names参数指定中文列名同时通过index_col参数设置索引为乘客ID。dfpd.read_csv(train.csv,names[乘客ID,是否幸存,乘客等级,乘客姓名,性别,年龄,堂兄弟/妹个数,父母与小孩个数,船票信息,票价,客舱,登船港口],index_col乘客ID,header0# 跳过原始表头)df.head()方法 2读取后修改列名和索引先读取数据再通过columns属性和set_index()方法修改列名和索引。dfpd.read_csv(train.csv)# 修改列名df.columns[乘客ID,是否幸存,乘客等级,乘客姓名,性别,年龄,堂兄弟/妹个数,父母与小孩个数,船票信息,票价,客舱,登船港口]# 设置索引dfdf.set_index(乘客ID)df.head()方法 3使用字典映射替换列名通过字典映射替换列名适合列名较多且需要动态修改的情况。dfpd.read_csv(train.csv)# 创建英文到中文的映射字典column_mapping{PassengerId:乘客ID,Survived:是否幸存,Pclass:乘客等级,Name:乘客姓名,Sex:性别,Age:年龄,SibSp:堂兄弟/妹个数,Parch:父母与小孩个数,Ticket:船票信息,Fare:票价,Cabin:客舱,Embarked:登船港口}# 替换列名df.rename(columnscolumn_mapping,inplaceTrue)# 设置索引df.set_index(乘客ID,inplaceTrue)df.head()方法 4逐列修改列名如果只需要修改部分列名可以通过rename()方法逐列修改。dfpd.read_csv(train.csv)# 修改部分列名df.rename(columns{PassengerId:乘客ID,Survived:是否幸存},inplaceTrue)# 设置索引df.set_index(乘客ID,inplaceTrue)df.head()在上面的方法三、四中inplaceTrues实现了什么功能在 Pandas 中inplaceTrue是一个非常常见的参数它的含义是直接在原对象上进行修改而不是返回一个新的对象。简单来说就是**“原地修改”**。详细对比1. 默认情况 (inplaceFalse)如果你不写这个参数或者设置为False这是默认值Pandas 不会改变原本的df变量而是把修改后的结果作为一个新的 DataFrame返回给你。你需要用变量去接收它。# ❌ 原来的 df 不会变df.rename(columnscolumn_mapping)# ✅ 需要赋值给变量才能保存修改df_newdf.rename(columnscolumn_mapping)# 或者覆盖原变量dfdf.rename(columnscolumn_mapping)2. 使用inplaceTrue如果你设置为TruePandas 会直接修改内存中的df对象。这个操作没有返回值返回None但df本身变了。# ✅ 原来的 df 直接被修改了df.rename(columnscolumn_mapping,inplaceTrue)# ❌ 千万不要这样写因为 inplaceTrue 返回的是 None# df df.rename(columnscolumn_mapping, inplaceTrue) -- 这样 df 会变成 None总结inplaceFalse(默认)“给我一份改好的复印件原件不要动。”安全适合链式调用inplaceTrue“直接在原件上改。”省去赋值步骤代码看起来简洁一些1.2 初步观察导入数据后你可能要对数据的整体结构和样例进行概览比如说数据大小、有多少列各列都是什么格式的是否包含null等1.2.1 任务一查看数据的基本信息df.info()class pandas.core.frame.DataFrame Index: 891 entries, 1 to 891 Data columns (total 11 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 是否幸存 891 non-null int64 1 仓位等级 891 non-null int64 2 姓名 891 non-null object 3 性别 891 non-null object 4 年龄 714 non-null float64 5 兄弟姐妹个数 891 non-null int64 6 父母子女个数 891 non-null int64 7 船票信息 891 non-null object 8 票价 891 non-null float64 9 客舱 204 non-null object 10 登船港口 889 non-null object dtypes: float64(2), int64(4), object(5) memory usage: 83.5 KB输出结果解释Pandas DataFrame 的.info()方法的运行结果它提供了关于这个数据集DataFrame的简洁、概要的信息。我们可以将这些信息分为几个关键部分来理解1. 整体结构信息class pandas.core.frame.DataFrame含义确认这个对象是一个Pandas DataFrame类型这是 Pandas 中最常用的二维表格型数据结构。Int64Index: 891 entries, 1 to 891含义描述数据的行信息。总行数 (Entries)共有891条记录或行。索引 (Index)索引类型是 64 位整数 (Int64Index)范围是从1 到 891。这表明数据的索引是从 1 开始的而不是默认的 0 开始。Data columns (total 11 columns)含义描述数据的列信息。总列数共有11列。2. 列详细信息数据质量检查的核心这部分是.info()输出最重要的部分它详细列出了每一列的数据情况。序号列名 (Column)非空值计数 (Non-Null Count)数据类型 (Dtype)缺失值情况0是否幸存891 non-nullint64无缺失值(891/891)1仓位等级891 non-nullint64无缺失值(891/891)2姓名891 non-nullobject无缺失值3性别891 non-nullobject无缺失值4年龄714 non-nullfloat64有缺失值(177 个)5兄弟姐妹个数891 non-nullint64无缺失值9客舱204 non-nullobject严重缺失(687 个)10登船港口889 non-nullobject有缺失值(2 个)关键数据类型解释int64(Integer 64-bit)64 位整数。通常用于存储整数数据如计数、ID、等级。float64(Float 64-bit)64 位浮点数。用于存储小数数据如年龄、票价。object字符串文本类型。用于存储文本数据如姓名、客舱号。缺失值分析通过比较总行数 (891) 和 Non-Null Count我们可以迅速发现数据集中的缺失数据 (Missing Values)年龄只有 714 个非空值意味着有891 − 714 177 891 - 714 \mathbf{177}891−714177个缺失值。客舱只有 204 个非空值意味着有891 − 204 687 891 - 204 \mathbf{687}891−204687个缺失值缺失率非常高。登船港口只有 889 个非空值意味着有2 \mathbf{2}2个缺失值。这些缺失值需要在后续的数据清洗和预处理阶段进行处理比如填充或删除。3. 资源使用信息dtypes: float64(2), int64(4), object(5)含义总结了数据类型在整个 DataFrame 中的分布。有 2 列是float64类型。有 4 列是int64类型。有 5 列是object字符串类型。memory usage: 83.5 KB含义估算这个 DataFrame 在内存中所占用的空间大约是83.5 千字节 (KB)。这个数值可以帮助你评估处理更大文件时的内存需求。总而言之.info()是进行初步数据探索和数据质量检查时最重要的一步它让你快速了解数据的规模、类型和完整性。df.info 和 df.info()有什么区别这是一个非常经典的 Python 初学者问题触及了**方法调用Call与对象引用Reference**的核心区别。简单来说带括号是“做动作”不带括号是“看说明书”。以下是详细对比分析1.df.info()—— 执行方法做动作含义这是在调用Call这个函数。你告诉 Python“现在立刻运行info这个功能。”结果Python 会执行info内部的代码计算并打印出 DataFrame 的详细摘要行数、列数、非空值、内存占用等。你在数据分析中需要的正是这个。代码示例df.info()输出结果示例class pandas.core.frame.DataFrame Int64Index: 891 entries, 1 to 891 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 是否幸存 891 non-null int64 ... (省略中间内容) ... dtypes: float64(2), int64(5), object(5) memory usage: 90.5 KB2.df.info—— 查看对象看说明书含义这是在引用这个属性。你告诉 Python“我想看看df对象里名为info的那个东西是什么。”结果Python 不会运行代码而是告诉你“这是一个绑定在 DataFrame 上的方法对象。”你在数据分析中需要的通常不需要除非你在做高级编程比如把这个函数赋值给另一个变量。代码示例df.info输出结果示例bound method DataFrame.info of 是否幸存 仓位等级 姓名 性别 年龄 ... 父母子女个数 船票信息 票价 客舱 登船港口 乘客ID ... 1 0 3 Braund... male 22.0 ... 0 A/5 21171 7.25 NaN S 2 1 1 Cuming... female 38.0 ... 0 PC 17599 71.28 C85 C ... [891 rows x 11 columns](注意它只是打印出了这个方法的描述信息并没有统计数据的非空值或类型)总结对比表特性df.info()(带括号)df.info(不带括号)本质函数调用 (Function Call)对象引用 (Object Reference)比喻按下遥控器上的“播放”键手指着遥控器上的“播放”键作用执行代码计算并显示数据摘要查看这个方法本身在内存中的样子是否有返回值有通常打印到控制台或返回 None有返回方法对象本身常用场景99.9% 的情况查看数据信息极少调试或高阶函数式编程结论在做数据分析查看数据概况时请务必加上括号()。1.2.2 任务二观察表格前10行的数据和后15行的数据df.head(10)df.tail(15)记住相关语法就可以这里就不展示结果了。1.2.3任务三判断数据是否为空为空的地方返回True其余地方返回Falsedf.isnull().head()# 展示前 5 行数据的缺失值分布情况True 表示缺失.isnull()方法是查看空缺值 这里结合.head()方法一起使用。避免一次性输出过多【总结】上面的操作都是数据分析中对于数据本身的观察【思考】对于一个数据还可以从哪些方面来观察找找答案这个将对下面的数据分析有很大的帮助对于一个数据还可以从哪些方面来观察除了上述的的查看头尾行 (head/tail)、基本信息 (info) 和缺失值 (isnull) 之外数据观察Exploratory Data Analysis, EDA通常还需要从以下几个核心维度进行深入1. 描述性统计分析 (Descriptive Statistics)这是最直接了解数据数值分布的方法。方法df.describe()观察点均值 (mean)vs中位数 (50%)如果两者相差很大说明数据存在偏斜Skewness或异常值。标准差 (std)数据波动大不大最小值 (min) / 最大值 (max)数据范围是否合理例如年龄不应为负数票价不应无穷大。# 查看数值型列的统计摘要df.describe()2. 唯一值与计数 (Unique Values Counts)对于分类数据如性别、登船港口、客舱等级我们需要知道有哪些类别以及每个类别的数量。方法df[列名].unique()查看有哪些唯一值。df[列名].value_counts()查看每个类别有多少条数据。观察点是否存在拼写错误的类别如 “male” 和 “Male”样本是否均衡例如幸存者和遇难者比例是否悬殊# 查看“性别”列有哪些值以及各有多少人df[性别].value_counts()3. 数据类型与格式检查 (Data Types Format)虽然info()给了大概的类型但有时需要更细致的检查。观察点数值是否被存成了字符串例如票价列里混入了 “$” 符号导致变成 object 类型。时间格式是否正确例如日期是 “2021-01-01” 字符串还是 datetime 对象。4. 异常值检测 (Outlier Detection)寻找那些“格格不入”的数据。方法排序df.sort_values(by列名)看看最大和最小的几个值是否离谱。可视化箱线图虽然还没讲到绘图但这是观察异常值最直观的方法。观察点比如泰坦尼克号数据中是否有年龄超过 100 岁或票价高达 5000 的记录5. 相关性分析 (Correlation)观察特征之间或者特征与目标变量是否幸存之间的关系。方法df.corr()观察点票价越高幸存率越高吗年龄和兄弟姐妹数量有关联吗总结代码示例你可以尝试运行以下代码来扩展你的观察视角# 1. 统计摘要快速看数值分布print(--- 统计摘要 ---)print(df.describe())# 2. 查看分类数据的分布例如查看男女比例print(\n--- 性别分布 ---)print(df[性别].value_counts())# 3. 排序观察例如看看票价最高的前 5 个人print(\n--- 票价最高的 5 人 ---)print(df.sort_values(by票价,ascendingFalse).head(5)).isnull()判断为空的机制是什么? 空值可能是没有填充 Nan None…理解 Pandas 如何定义“空值”对于数据清洗至关重要。1.df.isnull().head()语句解释这行代码是两个方法的链式调用我们可以把它拆解来看df.isnull()作用它会遍历整个 DataFrame判断每一个单元格是否为“空”。返回结果返回一个与原 DataFrame 形状完全一样的新 DataFrame但里面的内容变成了布尔值Boolean如果原位置是空值显示True。如果原位置有数据显示False。.head()作用取前 5 行。目的因为整个表可能很大打印出来看不清我们只看前 5 行的布尔值结果快速检查一下哪些列可能存在缺失数据。总结这行代码的作用是**“展示前 5 行数据的缺失值分布情况True 表示缺失”**。2. Pandas 判断“空值”的机制Pandas 在判断是否为null时主要依据底层NumPy的标准以及 Python 的对象标准。被判定为True(是空值) 的情况Pandas 的isnull()(以及它的别名isna()) 会将以下情况视为缺失值NaN(Not a Number)这是标准的浮点数缺失值IEEE 754 标准。这是 Pandas 中最常见的缺失值形式数值列通常都用这个。None(Python 的 None 对象)Python 自带的“无”对象。在 Pandas 的object类型字符串/混合类型列中None会被保留并视为缺失值。在数值列中Pandas 通常会自动把None转换为NaN。NaT(Not a Time)专门用于时间序列Datetime类型的缺失值。被判定为False(不是空值) 的情况易错点很多初学者容易混淆以下情况Pandas不认为它们是空值空字符串或 注意这是最容易踩坑的地方在 Pandas 看来空字符串是一个长度为 0 的有效字符串对象不是 Null。字符串NaN或null如果你读取 CSV 时没有正确解析这些只是普通的文本字符不是真正的缺失值。数字00 是一个有效的数字不是空。False布尔值的 False 是有效值。inf(无穷大)默认情况下无穷大被视为有效值可以通过配置修改。代码演示importpandasaspdimportnumpyasnp data{数值:[1,np.nan,0],# np.nan 是空0 不是对象:[abc,None,],# None 是空空字符串 不是时间:[pd.Timestamp(20210101),pd.NaT,pd.Timestamp(20210102)]# NaT 是空}df_testpd.DataFrame(data)print(原始数据)print(df_test)print(-*20)print(isnull() 判断结果)print(df_test.isnull())输出结果预演np.nan- TrueNone- Truepd.NaT- True0-False(空字符串) -False1.3 保存数据1.3.1 任务一将你加载并做出改变的数据在工作目录下保存为一个新文件train_chinese.csv# 注意不同的操作系统保存下来可能会有乱码。大家可以加入encodingGBK 或者 ’encoding ’utf-8‘‘df.to_csv(train_chinese.csv)默认会将文件保存在当前的“工作目录”Current Working Directory下。也可以指定绝对路径保存注意反斜杠的问题【总结】数据的加载以及入门接下来就要接触数据本身的运算我们将主要掌握numpy和pandas在工作和项目场景的运用。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

盐城滨海建设局网站网站权重怎么刷

Dify如何设置权限控制保护核心业务流程? 在企业加速拥抱大语言模型(LLM)的今天,AI应用早已不再是实验室里的“玩具”,而是深入客服、营销、运营等核心业务的关键系统。然而,当多个角色——开发者调提示词、…

张小明 2025/12/29 8:47:13 网站建设

建网站设置网站首页php部署网站

这篇文章涵盖了Spring Boot的核心概念和高级主题,包括自动配置、多数据源、Actuator、缓存、AOP、异步编程、事务管理、安全性、消息队列和微服务架构。这些问题可以帮助您评估候选人的技能和经验,同时也是提高自己Spring Boot技能的好方法。 1. Spring …

张小明 2025/12/29 8:47:16 网站建设

房产网站 模板深圳政务服务网上大厅

观点作者:科易网AI技术转移研究院在当前科技快速发展的背景下,科技服务机构面临着日益激烈的市场竞争。传统的科技成果转化模式已经无法满足市场需求,亟需通过数字化升级来提升效率和竞争力。本文将从高校有组织科技成果转化的现状、问题与对…

张小明 2025/12/29 8:47:14 网站建设

网站建设远程教育大学论文wordpress4.9+多站点

在数字化转型向纵深推进的 2025 年,IT 服务管理(ITSM)已从传统工单工具升级为连接 IT 运维与业务价值的核心枢纽。企业对 ITSM 的需求不再局限于流程流转,而是延伸到合规保障、生态协同、敏捷响应等多元维度。本文聚焦当前主流 IT…

张小明 2025/12/29 8:47:14 网站建设

网站关键词描述linux 什么做网站好

3步彻底解决Windows热键冲突:一键定位占用程序的方法 【免费下载链接】hotkey-detective A small program for investigating stolen hotkeys under Windows 8 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否遇到过按下CtrlS保存文件…

张小明 2025/12/29 8:47:15 网站建设

网站的建设任务wordpress wplang

前端开发者必看:SPA 中全局事件管理避坑指南——别让 window 背前端开发者必看:SPA 中全局事件管理避坑指南——别让 window 背负你遗忘的监听器引言:为什么全局事件在 SPA 里总让人抓耳挠腮全局事件在 SPA 里的三大“作妖”现场Vue 阵营&…

张小明 2025/12/29 8:47:17 网站建设