Tag: dataframe

提高Excel加载速度到R数据框

我正在使用xlsx软件包加载R中的Excel电子表格。 它有50 +列和2000 +行。 加载时间大约是12分钟。 有没有办法提高加载速度? 我正在使用的代码: library(xlsx) starttime = Sys.time() res = read.xlsx("ExcelSheet.xlsx",sheetName = "Sheet1") endtime = Sys.time() – starttime print (endtime)

自动获取excel表格的列types

我有一个excel文件,几张纸,每个都有几列,所以我不想单独指定列的types,但自动。 我想读它们为stringsAsFactors= FALSE会做,因为它正确地解释列的types。 在我当前的方法中,列宽度“0.492±0.6”被解释为数字,返回NA,因为“ stringsAsFactors选项在read_excel不可用。 所以在这里,我写了一个解决方法,或多或less地工作,但我不能在现实生活中使用,因为我不被允许创build一个新的文件。 注意:我需要其他列作为数字或整数,还有其他人只有文字作为字符,因为stringsAsFactors在我的read.csv例子。 library(readxl) file= "myfile.xlsx" firstread<-read_excel(file, sheet = "mysheet", col_names = TRUE, na = "", skip = 0) #firstread has the problem of the a column with "0.492 ± 0.6", #being interpreted as number (returns NA) colna<-colnames(firstread) # read every column as character colnumt<-ncol(firstread) textcol<-rep("text", colnumt) secondreadchar<-read_excel(file, sheet = "mysheet", […]

如何在R中使用具有特定行和列的循环读取多个xlsx文件

我必须读取具有随机名称的多个xlsx文件到单个数据框中。 每个文件的结构是一样的。 我只需要导入特定的列。 我试过这个: dat <- read.xlsx("FILE.xlsx", sheetIndex=1, sheetName=NULL, startRow=5, endRow=NULL, as.data.frame=TRUE, header=TRUE) 但是,这是一次只有一个文件,我不能指定我的特定列。 我甚至尝试过: site=list.files(pattern='[.]xls') 但之后循环不起作用。 怎么做? 提前致谢。

将DataFrame(长格式数据)重塑为“摘要”DataFrame

所有,我是新的python。 我试图自动化重塑,我通常在Excel中执行如下 #Import long form data from CSV into pandas data frame In 1: Data = [My Long Form DataFrame imported from a CSV file] City Population Chicago 1,245 Los Angeles 2,457 New York 998 Chicago 1,854 New York 1,654 Los Angeles 2,478 Los Angeles 760 more… #Reshape "Data" DataFrame to a summary DataFrame "DataByCity" […]

pandas错误:用MultiIndex编写Excel文件尚未实现

我有一个pandas data frame ,我创build如下: stats_matrix= #A list containing my data myindex=['','event 1','event 2','event 3','event 4','event 5','event 6','event 7','event 8','event 9','event 10'] #List used for indexing rows column_names=['Failed 1st Stage','% Failed 1st Stage','Active 1st Stage','% Active 1st Stage','Failed 2nd Stage','% Failed 2nd Stage','Failed 1st & 2nd','% Failed 1st & 2nd','Active 2nd Stage','% Active 2nd Stage','Total failed','% […]

转置一个数据框,同时保存类/数据types信息

TL;博士 如何以一种保存类/数据types信息的方式,将不同类别的列向量(一列是character ,下一个是numeric ,另一个是logical等)的数据框转置? 示例数据: mydata <- data.frame( col0 = c("row1", "row2", "row3"), col1 = c(1, 2, 3), col2 = letters[1:3], col3 = c(TRUE, FALSE, TRUE) ) 这里还有一个xlsx文件,它提供了两种数据方向的示例: https : //github.com/rappster/stackoverflow/blob/master/excel/row-and-column-based-data.xlsx 问题 一个简单的t()或者一些比较像这个post中提到的例程是很棒的,但是不保存类信息或者原始数据框的列。 我也知道,类data.frame从来没有把混合类信息存储在其列中。 然而,至less我希望尽可能接近简单地“颠倒” data.frame的意图是:将视angular集中在行而不是列视angular上。 也就是说,行向量中的所有元素都需要属于同一个类,而类向量之间可能有所不同。 上下文 我经常在人们用来表示水平时间序列数据的项目中工作,而不是垂直 (“variables在列”方向)我们都习惯于在R(其中,恕我直言,也更有意义)。 更重要的是,他们正在广泛使用MS Excel。 我需要同时以“宽格式”读取数据,并且通过直接从R到XLConnect和/或openxlsx编写公式来更新现有的Excel文件(与在R中进行计算相反,将最终结果转储到Excel文件中)。 虽然我不断尝试告诉他们,使用这样一个方向意味着跨语言/工具(至less对于R和MS Excel)正确的标准工作,他们不太可能会转换。 所以我必须以某种方式处理。 目前的做法 所以我尽pipe关于保留一个底层的list但尽可能data.frame像数据data.frame一样“看起来和感觉”。 它的工作,但很相关。 我认为可能有一些更聪明的解决scheme。 函数def: transpose <- function ( […]

用NaT从dataframe中提取pandas多指数

我正在使用pandas来parsingExcel电子表格。 电子表格有几个工作表,每个工作表看起来像下面。 请注意,每列都具有对应于不同date的值,并且具有不同的长度: 无论什么原因,当大pandas分析Excel电子表格时,第一个工作表将第一列dateparsing为索引(即使index_col参数已指定为None)。 这仍然可以pipe理。 但是,在其他工作表中,它将索引parsing为多索引: 我想要做的是最终重build数据框,以便它们都共享一个通用的date索引,并且任何没有值的date都被NaN填充。 但是,我似乎无法从multiindex中提取date,甚至开始这个过程。 我试图执行两个级别0和1的dataframe上的reset_index() ,但它抱怨IndexError: cannot do a non-empty take from an empty axes. 我也尝试了unstack() ,但是这个抱怨ValueError: Index contains duplicate entries, cannot reshape 。

相同的行和列名称R

我正在使用数据透视表在R中做两个土地覆盖时期的变化matrix, 我有如何做在R中的数据透视表的方式,但我进一步操纵数据框有点麻烦。 我需要从具有不同行和列的dataframe中获得确切的行和列,并将0放在缺less的行/列中。 样品: df <- matrix(1:20, 4) colnames(df) <- c('a', 'b', 'c', 'd', 'e') rownames(df) <- c('a', 'b', 'c', 'd') df1 <- df[-3,] df1 在'df1'中,行'c'和'e'缺失。 我开始做一个循环,进入行,寻找什么是缺less的: FinalTable <- function (df){ for (i in rownames(df)){ if (i != colnames(df)){ print ('not equal') } } } 在此之后,我需要执行rbind添加行中缺less的列。 我感谢您的帮助。 我可以发送原始和期望的表格供您参考。 谢谢! 南多

在延伸过单元格的文本上使用xls文件的readtable时出错

我已经尝试使用Taro,ExcelReaders,并最终解决DataFrames的易用性。 我有大约2300(小)excel文件,我需要合并。 每个文件都包含一系列的信息,而问题所在的区域是允许logging的列。 大约一半的纸张,音符部分不扩展给定的单元格区域,但与另一个〜1150,它确实。 虽然libreoffice / WPSoffice可以很好地打开这些文件,但前面提到的问题会导致这些文件吐出一个错误,因为DataFrames假设某些行中的列数比其他列中的多。 当我进入一个单独的文件,select所有的领域,并启用文字换行,文件被准确地读取,但这不是一个很好的修复,因为有这么多的文件。 另外,我已经设置了separator ='\ t'。 有没有什么方法可以使DataFrames正确读取这些文件或其他方法来达到与在所有文件中启用文本换行一样的结果? 感谢您的帮助。 编辑:我已经发布了下面的文件之一返回的错误。 ERROR: Saw 114 rows, 23 columns and 2643 fields * Line 1 has 25 columns in findcorruption(::Int64, ::Int64, ::Int64, ::DataFrames.ParsedCSV) at /home/ale/.julia/v0.5/DataFrames/src/dataframe/io.jl:712 in readtable!(::DataFrames.ParsedCSV, ::IOStream, ::Int64, ::DataFrames.ParseOptions{String,String}) at /home/ale/.julia/v0.5/DataFrames/src/dataframe/io.jl:788 in #readtable#78(::Bool, ::Char, ::Array{Char,1}, ::Char, ::Array{String,1}, ::Array{String,1}, ::Array{String,1}, ::Bool, ::Int64, ::Array{Symbol,1}, ::Array{Any,1}, […]

使用Python使用Vlook_up

我在我的Excel数据文件中有四列: CUI ICD9/10 Out Lookup C0161894 39 4000001 C0000005 C0029730 398 4000002 C0000039 C0176693 398 4000003 C0000052 C0029730 3989 4000004 C0000074 我想匹配从第一列第四列,并获得第三列作为输出使用python。 由于数据很大,所以间接我想使用vLookups,但在这里我没有任何具体的价值。 我需要全列search