pandas去空 对齐运算
去空
df6=pd.DataFrame([np.random.randint(10,50,4),[1.1,2.2,3.3,],[np.NAN,1,2,3]])
print(df6)
判断单个元素是否为空
ret=df6.isnull()
print(ret)
print()
和上面的相反
ret2=df6.notnull()
print(ret2)
print('######################')
去掉空的列
ret3=df6.dropna(axis=1)
print(ret3)
print()
去掉空的行
ret4=df6.dropna(axis=0)
print(ret4)
print()
print('#####################')
把所有空值填充为0
ret3=df6.fillna(0)
print(ret3)
按列索引填充空值,这里key为列索引
ret4=df6.fillna({0:0,3:100})
print(ret4)
去重
df1=pd.DataFrame({'data1':list('aabbccdd'),'data2':[1,2,3,4,1,2,3,5]})
print(df1)
print()
测试是否存在重复值
ret5=df1.duplicated('data1')
print(ret5)
print()
按照data1索引删除列
ret6=df1.drop_duplicates('data1')
print(ret6)
print()
print('###############')
修改内容
将数组中的'b'元素改成1
ret7=df1.replace('b',1)
print(ret7)
print()
将数组中的’b‘’d‘元素改成1
ret8=df1.replace(['b','d'],1)
print(ret8)
print()
将数组中的’b‘’d‘元素分别改成1,2
ret9=df1.replace({'b':1,'d':2})
print(ret9)
print()
将data1索引为1的列的值改为m,这里注意重复的两个元素为一个索引
ret10=ret9.replace({'data1':1},'m')
print(ret10)
print()
求和,绝对值
ser1=pd.Series(np.random.randint(-10,10,10))
print(ser1)
print()
求单个元素绝对值
print(np.abs(ser1))
print()
数组求和
print(np.sum(ser1))
print()
df1=pd.DataFrame(np.random.randint(-10,10,(4,5)),columns=list('abcde'))
print(df1)
print()
求单个绝对值
print(np.abs(df1))
print()
按列求和
print(np.sum(df1))
print()
按行求和
print(np.sum(df1,axis=1))
print()