草庐IT

row_count

全部标签

python - sql select group by a having count(1) > 1 equivalent in python pandas?

我很难过滤pandas中的groupby项。我想做selectemail,count(1)ascntfromcustomersgroupbyemailhavingcount(email)>1orderbycntdesc我做到了customers.groupby('Email')['CustomerID'].size()它正确地给出了电子邮件列表及其各自的计数,但我无法实现havingcount(email)>1部分。email_cnt[email_cnt.size>1]返回1email_cnt=customers.groupby('Email')email_dup=email_cnt.

python - Pandas 数据框 : how to count the number of 1 rows in a binary column?

我有以下Pandas数据框:importpandasaspdimportnumpyasnpdf=pd.DataFrame({"first_column":[0,0,0,1,1,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0]})>>>dffirst_column00102031415160708191100110120130141151161171181190200first_column是0和1的二进制列。有连续的“集群”,它们总是成对出现,至少有两个。我的目标是创建一个“计算”每组行数的列:>>>dffirst_columncounts000100200313413

python Pandas 数据框: removing selected rows

我有一个pandas数据框,类似于:df=pd.read_csv('fruit.csv')print(df)fruitnamequant0apple101apple112apple133banana104banana205banana306banana407pear108pear1029pear103310pear101211pear10112pear10013pear104414orange10我想删除最后一个条目PERFRUIT,如果该水果的条目数为奇数(不偶数)(%2==1)。无需遍历数据帧。所以上面的最终结果是:--移除最后一个苹果,因为苹果出现了3次--删除最后一个梨--删除

新版TCGA数据库学习:提取新版TCGA表达矩阵(tpm/count/fpkm)

现在使用TCGAbiolinks下载转录组数据后,直接是一个SummarizedExperiment对象,这个对象非常重要且好用。因为里面直接包含了表达矩阵、样本信息、基因信息,可以非常方便的通过内置函数直接提取想要的数据,再也不用手扒了!!这个对象的结构是这样的:是不是感觉和单细胞的SingCellExperiment对象非常像~上次我们下载了常见的组学数据,今天学习下怎么提取数据,就以TCGA-READ的转录组数据为例。分别提取mRNA和lncRNA的表达矩阵,还要添加genesymbol的那种!加载数据和R包加载之前下载好的数据。rm(list=ls())library(Summariz

python - Spark : More Efficient Aggregation to join strings from different rows

我目前正在处理DNA序列数据,但遇到了一些性能障碍。我有两个查找字典/散列(作为RDD),以DNA“单词”(短序列)作为键,索引位置列表作为值。一个用于较短的查询序列,另一个用于数据库序列。即使是非常非常大的序列,创建表的速度也非常快。下一步,我需要将它们配对并找到“命中”(每个常用词的索引位置对)。我首先加入查找词典,速度相当快。但是,我现在需要这些对,所以我必须进行两次平面映射,一次是从查询中扩展索引列表,第二次是从数据库中扩展索引列表。这并不理想,但我看不到另一种方法。至少它表现不错。此时的输出为:(query_index,(word_length,diagonal_offset

python Pandas : how to find rows in one dataframe but not in another?

假设我有两个表:people_all和people_usa,它们具有相同的结构,因此具有相同的主键。我怎样才能得到不在美国的人的表格?在SQL中,我会做类似的事情:selecta.*frompeople_allaleftouterjoinpeople_usauona.id=u.idwhereu.idisnullPython的等价物是什么?我想不出将这个where语句翻译成pandas语法的方法。我能想到的唯一方法是在people_usa中添加一个任意字段(例如people_usa['dummy']=1),进行左连接,然后只取“dummy”所在的记录'是nan,然后删除虚拟字段-这看起来

python Pandas : drop rows of a timeserie based on time range

我有以下时间序列:start=pd.to_datetime('2016-1-1')end=pd.to_datetime('2016-1-15')rng=pd.date_range(start,end,freq='2h')df=pd.DataFrame({'timestamp':rng,'values':np.random.randint(0,100,len(rng))})df=df.set_index(['timestamp'])我想删除这两个时间戳之间的行:start_remove=pd.to_datetime('2016-1-4')end_remove=pd.to_datetime

python - cx_Oracle : How can I receive each row as a dictionary?

默认情况下,cx_Oracle将每一行作为元组返回。>>>importcx_Oracle>>>conn=cx_Oracle.connect('scott/tiger')>>>curs=conn.cursor()>>>curs.execute("select*fromfoo");>>>curs.fetchone()(33,'blue')如何将每一行作为字典返回? 最佳答案 您可以覆盖游标的rowfactory方法。每次执行查询时都需要这样做。这是标准查询的结果,一个元组。curs.execute('select*fromfoo')cu

python - 从 {index : list of row values} 形式的字典构造 Pandas DataFrame

我已经设法使用:dft=pd.DataFrame.from_dict({0:[50,45,00,00],1:[53,48,00,00],2:[56,53,00,00],3:[54,49,00,00],4:[53,48,00,00],5:[50,45,00,00]},orient='index')这样做,构造函数看起来就像DataFrame一样,易于阅读/编辑:>>>dft0123050450015348002565300354490045348005504500但是DataFrame.from_dictconstructor没有列参数,因此为列提供合理的名称需要一个额外的步骤:dft.

python - 在 openpyxl 的优化阅读器中使用 ws.iter_rows 迭代一系列行

我需要读取10x5324个单元格的xlsx文件这是我想做的事情的要点:fromopenpyxlimportload_workbookfilename='file_path'wb=load_workbook(filename)ws=wb.get_sheet_by_name('LOG')col={'Time':0...}foriinws.columns[col['Time']][1:]:printi.value.hour代码运行时间太长(我正在执行操作,而不是打印),过了一会儿我不耐烦并取消了它。知道如何在优化的阅读器中使用它吗?我需要遍历一系列行,而不是遍历所有行。这是我尝试过的,但这是