网站计划,网络网站网站怎么做的,广东微信网站制作报价,网站外部链接在Dataframe中新添加一列
直接指明列名#xff0c;然后赋值就可
import pandas as pddata pd.DataFrame(columns[a,b], data[[1,2],[3,4]])
data dataa b
0 1 2
1 3 4
添加一列’c‘#xff0c;赋值为空白值。打印出来
data[c]
data
…
在Dataframe中新添加一列
直接指明列名然后赋值就可
import pandas as pddata pd.DataFrame(columns[a,b], data[[1,2],[3,4]])
data dataa b
0 1 2
1 3 4
添加一列’c‘赋值为空白值。打印出来
data[c]
data dataa b c
0 1 2
1 3 4
添加一列‘d赋值为一个list
data[d] [5,6]
data dataa b c d
0 1 2 5
1 3 4 6
在指定的位置添加新的一列可以使用insert( )方法。
分别在原来的dataframe的开始和最后添加两列 ’c 和 ‘d。参数链接
data.insert(2,c,)
# 2 插入的列的位置
# ‘c待插入列的列名
# ‘ ’插入的值这里插入的是空值data
Out[56]: a b c
0 1 2
1 3 4
data.insert(0,d,[1,2])data
Out[71]: d a b c
0 1 1 2
1 2 3 4 pandas.DataFrame 进行新增列操作的五种方法insert、reindex、loc、obj[‘col’]、concat
新建
import pandas as pd
import numpy as npdata pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns[a, b, c])
dataa b c0 1 2 31 4 5 62 7 8 9insert方法
第一个参数指定插入列的位置
第二个参数指定插入列的列名
第三个参数指定插入列的数据
data.insert(data.shape[1], d, 0)
dataa b c d0 1 2 3 01 4 5 6 02 7 8 9 0obj[‘col’] value 方法
对 DataFrame 直接赋值
data[d] 0
dataa b c d0 1 2 3 01 4 5 6 02 7 8 9 0reindex 方法
使用 reindex 函数还可以指定缺失值填充的值不过缺点是要把原有的列名和新列名都加上
data data.reindex(columns[a, b, c, d], fill_value0)
dataa b c d0 1 2 3 01 4 5 6 02 7 8 9 0concat 方法
concat 方法是用来拼接数据的
在这里是利用拼接过程中新建一个包含新列名的空DataFrame
好处是可以同时新增多个列名。
data pd.concat([data, pd.DataFrame(columns[d])], sortFalse)
dataa b c d0 1.0 2.0 3.0 NaN1 4.0 5.0 6.0 NaN2 7.0 8.0 9.0 NaNloc 方法
loc 方法和 iloc 方法一样可以索引 DataFrame 数据
一般是通过 data.loc[index, col] value 来进行赋值
这里利用来索引全部行再进行赋值。
data.loc[:, d] 0
dataa b c d0 1 2 3 01 4 5 6 02 7 8 9 0Python-pandas的dropna()方法-丢弃含空值的行、列
0.摘要
dropna()方法能够找到DataFrame类型数据的空值缺失值
将空值所在的行/列删除后将新的DataFrame作为返回值返回。 1.函数详解
函数形式
dropna(axis0, howany, threshNone, subsetNone, inplaceFalse)
参数
axis轴。0或index表示按行删除1或columns表示按列删除。
how筛选方式。‘any’表示该行/列只要有一个以上的空值就删除该行/列
‘all’表示该行/列全部都为空值就删除该行/列。
thresh非空元素最低数量。int型默认为None。
如果该行/列中非空元素数量小于这个值就删除该行/列。
subset子集。列表元素为行或者列的索引。
如果axis0或者‘index’subset中元素为列的索引
如果axis1或者‘column’subset中元素为行的索引。
由subset限制的子区域是判断是否删除该行/列的条件判断区域。
inplace是否原地替换。布尔值默认为False。
如果为True则在原DataFrame上进行操作返回值为None。 dataframe中有关inf的处理技巧
numpy中inf的相关文档https://numpy.org/devdocs/reference/constants.html#numpy.Inf
什么是inf IEEE 754浮点表示正无穷大。
为什么会产生 np.NINF-inf np.infinf np.log(0)-inf np.array([1,2])/0 #碰到的最多的情况array([ inf, inf])
产生inf有什么好处
目前没看到有什么好处只是单纯用inf表示无穷大方便理解和表示。
产生inf有什么坏处
对用户而言对inf需要特殊处理加大了工作量。
为什么需要特殊处理
因为许多机器学习算法库并不支持对inf的处理。
怎么处理
常见的处理方法 不处理替换怎么获取到inf的所在位置并进行填补 isinf显示哪些元素为正或负无穷大isposinf显示哪些元素为正无穷大isneginf显示哪些元素为负无穷大isnan显示哪些元素不是数字isfinite显示哪些元素是有限的不是非数字正无穷大和负无穷大中的一个
np.isinf(np.inf) #其他函数同理使用isinf使用最多。True np.isinf(np.array([1,np.inf]))array([False, True], dtypebool)np.isinf(pd.DataFrame(np.array([1,np.inf])))00 False1 True
s1 pd.Series([1,2,3,np.inf])s10 1.01 2.02 3.03 NaNdtype: float64 #对inf填补 999
s1[np.isinf(s1)] 999s10 1.01 2.02 3.03 999.0dtype: float64 #对inf填补np.nan (较为常用)
s1[np.isinf(s1)] np.nans10 1.01 2.02 3.03 NaNdtype: float64 Pandas 处理DataFrame中的inf值
1. 将某1列series格式中的 inf 替换为数值
import numpy as npdf[Col][np.isinf(df[Col])] -1
2. 将某1列series格式中的 inf 替换为NA值
import numpy as npdf[Col][np.isinf(df[Col])] np.nan
3. 将整个DataFrame中的 inf 替换为数值空值同理
import numpy as npdf.replace(np.inf, -1) #替换正inf为-1#替换正负inf为NA加inplace参数
df.replace([np.inf, -np.inf], np.nan, inplaceTrue)