def checknum(l,n=1):。
#计算列表中连续=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新增一列:如果list为空,赋值为0;如果list列不为空,将amount列中对应的行值赋值到新列。
pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。
Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
r语言中添加新列的方法:
假设你数据是data,那么前几列的和是rowSums(data);
然后你可以重新做一个dataframe。
data_new<-data.frame(data,sum=rowSums(data))。
R语言Data Frame数据框常用操作:
Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的。
Data Frame每一列有列名,每一行也可以指定行名。如果不指定行名,那么就是从1开始自增的Sequence来标识每一行。
使用data.frame函数就可以初始化一个Data Frame。比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为:
student<-data.frame(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"),Birthdate=c("1984-12-29","1983-5-6","1986-8-8”))。
另外也可以使用read.table() read.csv()读取一个文本文件,返回的也是一个Data Frame对象。读取数据库也是返回Data Frame对象。
查看student的内容为:
ID Name Gender Birthdate。
1 11 Devin M 1984-12-29。
2 12 Edward M 1983-5-6。
3 13 Wenli F 1986-8-8。
这里只指定了列名为ID,Name,Gender和Birthdate,使用names函数可以查看列名,如果要查看行名,需要用到row.names函数。这里我们希望将ID作为行名,那么可以这样写:
row.names(student)<-student$ID。