可能是由于以下原因之一:
df['列名'] = df['列名'].astype(str)
fillna
df['列名'].fillna('NA')
dropna
总结起来,解决在dataframe列中填充字符串类型NA时出错的方法是:确保列数据类型是字符串类型、正确使用列名、使用正确的填充方法、处理其他类型的NA值和缺失值。
从Python解释器来看,np.nan的类型是float,None的类型是NoneType,两者在Pandas中都显示为NaN,pd.NaT的类型是Pandas中的NaTType,显示为NaT。...在获取数据时,可能会有一些数据无法得到,也可能数据本身就没有,造成了缺失值。对于这些缺失值,在获取数据时通常会用一些符号之类的数据来代替,如问号?,斜杠/,字母NA等。...如果一行(或列)数据中少于thresh个非空值(non-NA values),则删除。也就是说,一行(或列)数据中至少要有thresh个非空值,否则删除。...limit: 表示填充执行的次数。如果是按行填充,则填充一行表示执行一次,按列同理。 在缺失值填充时,填充值是自定义的,对于数值型数据,最常用的两种填充值是用该列的均值和众数。...在进行数据填充时,可能填充之后还有空值,如用ffill 和 pad填充时,数据第一行就是空值。
在转换部分中解释了将其转换为这些 dtype 的简单方法。 算术和比较操作中的传播 一般来说,在涉及 NA 的操作中,缺失值会传播。当其中一个操作数未知时,操作的结果也是未知的。...在转换部分中解释了将其转换为这些 dtype 的简单方法。 算术和比较操作中的传播 一般来说,在涉及NA的操作中,缺失值会传播。当其中一个操作数未知时,操作的结果也是未知的。...这在从 IO 方法中读取数据集并推断数据类型后特别有帮助。 在这个例子中,虽然所有列的数据类型都被更改,但我们展示了前 10 列的结果。...2.0 2.0 NA 值可以用原始对象和填充对象之间的索引和列对齐的Series或DataFrame中的相应值替换。...2.0 2.0 可以用 Series 或 DataFrame 中对应值替换 NA 值,其中原始对象和填充对象之间的索引和列对齐。
convert:指示是否应将新列转换为适当的类型(与spreadabove相同)。 extra:指示对多余列的处理。可以选择丢弃,或者合并给最后一列。...fill:可以是'right,要么在最右边的列中填充'np.nan值来填充缺失的部分,也可以在left中填充np.nan值在最左边的列中填充。...任何非字符串的列都将转换为字符串。 unite()的参数是: *colname:新连接列的名称。 ** args:要连接的列的列表,可以是字符串,符号或列的整数位置。...*sep:用于连接列的字符串分隔符。 *remove:指示是否删除用于合并的原始列。 *na_action:可以是maintain(默认值),ignore或”as_string之一。...默认的maintain 将使新列行成为“NaN”值如果该行中的任何原始列单元格包含“NaN”。 ignore会在加入时将任何NaN值视为空字符串。
在整本书中,我们将缺失数据称为空值或NaN值。 缺失数据惯例中的权衡 许多方案已经开发出来,来指示表格或DataFrame中是否存在缺失数据。..., 2, None]) ''' 0 1.0 1 NaN 2 2.0 3 NaN dtype: float64 ''' 对于没有可用标记值的类型,当存在 NA 值时,Pandas...(请注意,有人建议未来向 Pandas 添加原生整数 NA;截至本文撰写时,尚未包含此内容。)...下表列出了引入 NA 值时 Pandas 中的向上转换惯例: 类型 储存 NA 时的惯例 NA 标记值 floating 不变 np.nan object 不变 None或np.nan integer...转换为float64 np.nan boolean 转换为object None或np.nan 请记住,在 Pandas 中,字符串数据始终与object dtype一起存储。
Python之Pandas中Series、DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签...1.2 Series的字符串表现形式为:索引在左边,值在右边。...2. pandas的数据结构DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值的)。...构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。 Index对象是不可修改的。...)填充缺失数据 isnull 返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值/NA,该对象的类型与源类型一样 notnull isnull的否定式 10.
0.01%,80%)的列中,除3列数据缺失值在56%以上,其余列数据的缺失值均小于17%,故可以简单认为在此数据集中缺失值在56%以上的数据列提供信息有限,故将缺失百分比56%以上的列数据全部删除。...在DataFrame求其一列即Series对象中的均值的方法为mean,众数的方法为mode,中位数的方法为median。 首先是对字符型的填补。...将信息补完,再填补回原数据中。此处使用简单的字符串粘贴即可。...首先读取DataFrame的列名,并将其写入到文件的第一行,因为写入文件函数write()的参数需要是一个字符串,所以首先对读取到的列名进行简单的字符串粘贴,且在最后加入转义字符\n进行换行,方便接下来的内容的写入...在Pandas中,可以直接对格式为DataFrame的数据进行文件的存储。
所有数据和代码可在我的GitHub获取: https://github.com/xiaoyusmd/PythonDataScience 一、缺失值类型 在pandas中,缺失数据显示为NaN。...因为nan在Numpy中的类型是浮点,因此整型列会转为浮点;而字符型由于无法转化为浮点型,只能归并为object类型('O'),原来是浮点型的则类型不变。...None == None >> True 在传入数值类型后,会自动变为np.nan。...pd.NA的目标是提供一个缺失值指示器,可以在各种数据类型中一致使用(而不是np.nan、None或者NaT分情况使用)。...除了用前后值来填充,也可以用整个列的均值来填充,比如对D列的其它非缺失值的平均值8来填充缺失值。
查看数据类型 查看所有列的数据类型使用dtypes, 查看单列使用dtype, 具体用法如下: 1 import pandas as pd 2 df = pd.DataFrame({"ID": [100000,100101,100201...],"Surname": [" Zhao ","Qian"," Sun " ]}) 3 #查看所有列的数据类型 4 df.dtypes 5 #查看单列的数据类型 6 df["ID"].dtype ?...],"Surname": [" Zhao ","Qian"," Sun " ]}) 3 #将ID列的类型转化为字符串的格式 4 df["ID"].astype(str) ?...: [" Zhao ","Qian"," Sun " ]}) 3 #需要将ID列的类型转换为字符串, 否则无法使用slice()函数 4 df["ID"]= df["ID"].astype(str) 5...当na改为True时, 结果为: ?
在掩码方法中, 掩码可能是一个与原数组维度相同的完整布尔类型数组, 也可能是用一个比特(0 或 1) 表示有缺失值的局部状态。...虽然这种类型在某些情景中非常有用, 对数据的任何操作最终都会在 Python 层面完成, 但是在进行常见的快速操作时, 这种类型比其他原生类型数组要消耗更多的资源: for dtype in ['object...例如, 当我们将整型数组中的一个值设置为 np.nan 时, 这个值就会强制转换成浮点数缺失值 NA。...中字符串类型的数据通常是用 object 类型存储的。...2.0 d 3.0 e 3.0 dtype: float64 DataFrame 的操作方法与 Series 类似, 只是在填充时需要设置坐标轴参数 axis: print(df)
数据类型调整前 #字符串转换为数值(整型) DataDF['Quantity'] = DataDF['Quantity'].astype('int') #字符串转换为数值(浮点型) DataDF['UnitPrice...日期调整前(为求简便这里用已经剔除分秒,剔除的办法后面在格式一致化的空格分割再详细说) #数据类型转换:字符串转换为日期 #errors='coerce' 如果原始数据不符合日期的格式,转换后的值为空值...中,将缺失值表示为NA,表示不可用not available。...后面出来数据,如果遇到错误:说什么float错误,那就是有缺失值,需要处理掉 所以,缺失值有3种:None,NA,NaN 那None和NaN有什么区别呢: None是Python的一种数据类型, NaN...='any') DataDF.dropna(how='all') # 更精细的thresh参数,它表示留下此行(或列)时,要求有多少[非缺失值] DataDF.dropna(thresh = 6 )
一、缺失值类型 在pandas中,缺失数据显示为NaN。缺失值有3种表示方法,np.nan,none,pd.NA。 1、np.nan 缺失值有个特点(坑),它不等于任何值,连自己都不相等。...因为nan在Numpy中的类型是浮点,因此整型列会转为浮点;而字符型由于无法转化为浮点型,只能归并为object类型('O'),原来是浮点型的则类型不变。...None == None >> True 在传入数值类型后,会自动变为np.nan。...pd.NA的目标是提供一个缺失值指示器,可以在各种数据类型中一致使用(而不是np.nan、None或者NaT分情况使用)。...除了用前后值来填充,也可以用整个列的均值来填充,比如对D列的其它非缺失值的平均值8来填充缺失值。
数据的质量直接关乎最后数据分析出来的结果,如果数据有错误,在计算和统计后,结果也会有误。 所以在进行数据分析前,我们必须对数据进行清洗。...(data) 02 删除 # 过滤掉带缺省参数的内容 即删除 # how='all' 行或列只要存在就删除 axis=0 按行删除 axis=1 按列删除 # 将内容转为DataFrame 类型 data...= pd.DataFrame(data) # print(data) data2 = data.dropna(axis=1) print(data2) DataFrame类型 读取数据时,没有头标签的要加上...DataFrame 类型 再进行其他缺省值处理 3、平均值替换 4、删除缺省参数 5、指定内容填充 额外补充: 文件写入时,注意点 # float_format='%.2f' #保留两位小数...# 如果数据结构中有缺省值NaN时, 在写入文件时要添加设置缺省参数 na_rap = "NaN" 否则写入时会显示空白 # data.to_csv("frame.csv", na_rap = "NaN
除了常规列变量df.col以外,也可以对索引类型df.Index和df.columns使用 确保访问的对象类型是字符串str类型。...将单个序列拼接为一个完整字符串 如上所述,当没有设置ohters参数时,该方法会将当前序列合并为一个新的字符串。...find 参数很简单,直接输入要查询的字符串即可,返回在原字符串中的位置,没查询到结果返回-1。...re中的标识,比如re.IGNORECASE na: 对缺失值填充 regex: 是否支持正则,默认True支持 df.Email.str.contains('jordon|com',na='*') -...可以通过设置na=False忽略缺失值完成查询。 8、文本的虚拟变量 get_dummies可以将一个列变量自动生成虚拟变量(哑变量),这种方法在特征衍生中经常使用。
(列)或者indexes(行)上合并DataFrame对象....参数: labels : 一个或者一列label值 axis : int类型或者轴的名字,这个轴和labels配合起来,比如,当axis=0的时候,就是行上面的label,当axis=1的时候,就是列上面的...=False, columns=None, sparse=False, drop_first=False) 参数: data : 类array类型,Series或者是DataFrame类型....prefix : 字符串,或者字符串列表,或者字符串字典.默认为None,这里应该传入一个字符串列表,且这个列表的长度是和将要被get_dummis的那些列数量是相等的.同样,prefix选项也可以是一个把列名映射到...填充缺失值 pandas.DataFrame.fillna 使用指定的方法来填充缺失值,并且返回被填充好的DataFrame DataFrame.fillna(value=None,method=None
### 重新索引时的填充限制 limit 和 tolerance 参数提供了在重新索引时填充的额外控制。...重新索引时填充的限制 limit 和 tolerance 参数提供了在重新索引时填充的额外控制。...(数据类型在 DataFrame 的列之间保留)。...In [349]: dft["A"].dtype Out[349]: dtype('float64') 如果 pandas 对象包含具有多种数据类型在单个列中的数据,则将选择列的数据类型以容纳所有数据类型...()来查找DataFrame中每种类型的列数。
你是否曾在在搜索语法时,因为打断了数据分析流而感到沮丧?为什么你在屡次查找后仍然不记得它?这是因为你还没有足够的练习来为它建立“肌肉记忆”。...1.表的维度和数据类型 1.1维度 这个数据中有多少行和列?...2.基础的列操作 2.1按列划分数据子集 按数据类型选择列: # if you only want to include columns of float data raw_df.select_dtypes...isnull.sum() 选择在一列中不为空的数据,例如,“Metro”不为空。...要查看字符串是否包含子字符串,可以在string中使用substring,它将输出true或false。
类型推断和数据转换 包括用户定义的值转换和自定义缺失值标记列表。 日期和时间解析 包括一种组合能力,包括将分布在多个列中的日期和时间信息组合成结果中的单个列。 迭代 支持迭代处理非常大文件的块。...其中一些函数执行类型推断,因为列数据类型不是数据格式的一部分。这意味着您不一定需要指定哪些列是数字、整数、布尔值或字符串。...在某些情况下,您可能希望在指示 DataFrame 的列中添加前缀,然后将其与其他数据合并。...另一个重要的扩展类型是Categorical,我们将在 Categorical Data 中更详细地讨论。截至本文撰写时,可用的扩展类型的相对完整列表在表 7.3 中。...> 2 three False 3 4 True 表 7.3:pandas 扩展数据类型 扩展类型 描述 BooleanDtype 可空布尔数据,传递字符串时使用
文本数据类型 在pandas中存储文本数据有两种方式:object 和 string。...在pandas 1.0版本之前,object是唯一的文本类型,在一列数据中如果包含数值和文本等混合类型则一般也会默认为object。...如果要采用string类型,我们可以通过dtype进行指定 在Series 或 Dataframe被创建后,我们还可以通过astype进行类型强制转换 当然,我们还有个df.convert_dtypes...文本提取 我们在日常中经常遇到需要提取某序列文本中特定的字符串,这个时候采用str.extract()方法就可以很好的进行处理,它是用正则表达式将文本中满足要求的数据提取出来形成单独的列。...比如下面这个案例,我们用正则表达式将文本分为两部分,第一部分是字母a和b,第二部分匹配数字: 在上述案例中,expand参数为Fasle时如果返回结果是一列则为Series,否则是Dataframe。
, # 所以其结果就为NaN(即“非数字”(Not a Number),在Pandas中,它用于表示缺失值或NA值)。...DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...Index会被完全使用,就像没有任何复制一样 method 插值(填充)方式 fill_value 在重新索引的过程中,需要引入缺失值时使用的替代值 limit 前向或后向填充时的最大填充量 tolerance...) ---- 2.7 在算术方法中填充值 在对不同索引的对象进行算术运算时,你可能希望当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值(比如0): import pandas as pd...时,你可能希望根据一个或多个列中的值进行排序。
领取专属 10元无门槛券
手把手带您无忧上云