pandas表示数组数值为空 arrayname.isnull()
numpy表示数组数值为空np.nan
1.pandas数组赋值与numpy赋值方法一致
一维数组
data[3]=100
data[‘b’]=100
二维数组
data.loc[‘c’,‘d’]=np.nan
data.iloc[3,4]=6
按条件赋值
data[data.isnull()]=300 空值赋值
对某列条件赋值(语法与numpy类似)
2.pandas数组的合并
2.1添加一行或者一列
data[‘E’]=np.arange(0,3) data数组添加一列
添加行不可以直接数组[]下标的形式
添加行:
不能使用iloc函数来添加
2.2 concat函数
与numpy区别:对于行数/列数是否相等没有要求,空的地方用Nan表示
与numpy区别:两个数组的维度不一定要相同
默认axis=0 上下合并,join=‘outer’ 空的地方用Nan表示
join=‘inner’ 拿出两个数组的重叠部分
ignore_index忽略行索引,默认False,即不忽略
2.3append函数
#和numpy的写法不同,和列表的写法相同
#对数组的维度,数组的列/行数没有要求
#只能数值添加
data1.append(data2) 效果相当于默认的concat axis=0,join=outer
2.4merge函数
把两个数组中某列有相同内容的行找出来
(1)on 指定两个数组都有的列,根据列名来找
(2)how默认为inner 即找data1,data2在B列上的交集
how选项outer/left/right
(3)left_on ,right_on 不是寻找两个数组索引名字相等的列,而是各自指定一列
写了left_on与right_on就不能写on参数
(4)left_index将第一个数组的行索引用作连接键
right_index 第二个数组的行索引用作连接键
注意,这两个必须同时为True 且必须一起出现
how改为outer
注:(numpy里 空值是np.nan)