Python:数据类型转换与空值处理
Python:int,float,str之间的转换
数据类型转换
主要介绍int,float,str之间的相互转换,转换方向见上图.
其它数据转换的内置函数
python各种类型转换-int,str,char,float,ord,hex,oct等_Python_sunlylorn的专栏-CSDN博客
Pandas中数据列含空字符串的处理
为了便于说明,以数据框A
为例,
import numpy as np
import pandas as pd
#为了便于描述先构造出一个数据框
A=pd.DataFrame({'A':[1,2,3,np.nan,1],"D":list('asdas')})
A=A.astype('str')#然后全部全换成str
A['B']=A['A'].astype('float')#然后再将数值列('A')转回
A
- 查看对应的位置的空值
#字符串下的空值
print(f"A.loc[3,'A'],输出结果:{A.loc[3,'A']}('nan')")
#数值下的空值
print(f"A.loc[3,'B'],输出结果:{A.loc[3,'B']}(nan)")
- 判断是否是空值?
#(1)判断是不是空值
print(f'第一种方法:{A.loc[3,"B"]==np.nan}')
#(2)使用内置函数检查
print(f"第二种方法:{A['B'].isna().tolist()}")#存在
令人惊讶的是:第一种方法下两者居然不相等。然后使用type
函数进行查看:
一个是<np.float64>,另一个是np.float
可以将前者转换成
最主要的原因是:参考链接
np.nan
不是一个“空”对象,用np.nan is None
判断是False;这种情况下判断空值只能用np.isna()(或者pd.isnull())
这也引出的一个新问题:数据框创建时的空值应该用np.nan
还是None
?
数据框创建时的空值应该用np.nan
还是None
?
与上面的情况类似,就算用None
也会出现类似的问题,如下图所示。
用
np.nan
或者None
创建了数据框,但是使用数据框切片的方法,发现两者居然不相等,真的是匪夷所思。
numpy 学习汇总38- 缺失数据,数据异常,NaN& None的区别( 初步学习 tcy)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构