#计算列表中连续=n的数目,返回最大连续数
res=[]
count=0
for i in l:
if i == n:
count+=1
else:
res.append(count)
count=0
res.append(count)
return max(res)
d=[
[1, 0, 0,1],
[1, 1, 1,1],
[1, 1, 0,0],
[1, 1, 1,1],
[0, 0, 0,1]
]
print [i+[checknum(i)] for i in d] #计算每行连续出现1的次数并加到行最后
输出结果>>>
[[1, 0, 0, 1, 1], [1, 1, 1, 1, 4], [1, 1, 0, 0, 2], [1, 1, 1, 1, 4], [0, 0, 0, 1, 1]]
当我们需要将dataframe中的某一列数据装换为其它类型或者做一些其它的算法后,再新增加到datafram中时,最有效的方法是使用自定义的udf函数。本文的例子是将id列的数据转换为double类型,然后将该列数据增加到dataframe中引入需用的包,并新建DataFrame的例子:
使用pandas的insert方法,第一个参数指定插入列的位置,第二个参数指定插入的列名,第三个参数指定插入列的数据。
直接对dataframe赋值
使用reindex函数,还可以指定缺失值填充的值,不过缺点是要把原有的列名和新列名都加上,如果列名较多,那就比较麻烦了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)