Tag: dataframe

Python Pandas DataFrame:如何处理由字典组成的列到由string的键确定的多列?

在我的一个大pandasDataFrame中,有一列包含每一行中的字典或字典。 例如,其中一行将包含“{'a':1,'b':2}” 我需要使用'a'和'b'作为列的DataFrame,或者列中包含的所有字符都有很多唯一的键。 例如,如果一行包含“{'a':1,'b':2}”,而另一行包含“{'a':1,'c':2}”我需要使用'a' ,“b”和“c”作为列。 列名将是字典的关键字,行将包含字典的值。 DataFrame的索引将与原始的相同。 谢谢。

如何设置data.frame的rownames?

创builddata.frame时遇到了一个问题。 当我可以创build一个data.frame ,并设置适当的行和列的名称。 结果如下所示: row.names Africa ALPS Benelux CS MRI Systems 92 151 130 CS Computed To 94 110 91 CS Interv X-Ray 548 535 614 编辑:看到提交后,我的格式会丢失。 意思是显示数据框的左上部分是row.names(RStudio)。 这是预期的。 我想写这个excel(write.xlsx),也是有效的。 但是,在Excel中,单元格A1现在是空的。 相反,我想把这个月份的名字放在那个单元格里。 所以问题就变成了: 我可以更改data.frame,以便上面的示例中的row.names被replace为April? 如果不可能,我怎样才能把这个写到一个excel表单中,把单元格A1只更改为四月? 我已经尝试search这两种方法,但无法find解决scheme。 我想要这个btw的原因是,如果我从该表中读取,并再次存储在一个data.frame中,如果单元格A1为空,它将排除excel文件中的row.names。

在没有安装'openpyxl'模块的情况下,将pyspark中的数据框导出为ex​​cel文件

我试图写我的火花数据框在一个Excel文件来生成所需的报告,通过在pandas数据框中更改它们,然后使用 panda_df = df.toPandas() writer = pd.ExcelWriter(filename) panda_df.to_excel(writer,'Sheet1', startcol = 0, startrow = 0) 这给出了一个错误说 File "/usr/lib64/python2.6/site-packages/pandas/io/excel.py", line 350, in __init__ from openpyxl.workbook import Workbook ImportError: No module named openpyxl.workbook 我在远程服务器上运行这个,因此没有pipe理员权限使用sudo apt-get,因为它说“Sudo:apt-get:command not found”,我也尝试使用PIP没有使用,因为它没有安装无论是。 有什么其他的方式,我可以在Excel中写我的数据框?

如何将多个数据框写入R中的一个csv excel文件的多个工作表?

我想写多个数据框到一个单一的CSV格式的文件,但每个在Excel文件的不同表: write.csv(dataframe1, file = "file1.csv",row.names=FALSE) write.csv(dataframe2, file = "file2.csv",row.names=FALSE) 有什么办法可以在这个代码中指定工作表和csv文件,并将它们全部写入一个文件中? 先谢谢你,

导入.xlsx文件后,从matrix列表中构build适当的dataframe

实现: 我将一个.xlsx文件导入R.这个文件由三张表组成。 我将所有的表单都绑定到列表中。 需要实施 现在我想把这个matrix列表组合成一个单一的data.frame 。 标题是 – >名称(数据集)。 我尝试使用as.data.frame与read.xlsx中给出的read.xlsx ,但它没有工作。 我明确地尝试与as.data.frame(as.table(dataset))但它仍然会产生一个长长的data.frame列表,但没有我想要的。 我想有一个像header = names和下面的值的结构,就像read.table如何导入数据。 这是我正在使用的代码: xlfile <- list.files(pattern = "*.xlsx") wb <- loadWorkbook(xlfile) sheet_ct <- wb$getNumberOfSheets() b <- rbind(list(lapply(1:sheet_ct, function(x) { res <- read.xlsx(xlfile, x, as.data.frame = TRUE, header = TRUE) }))) b <- b [-c(1),] # Just want to remove the second header […]

使用pandas创build一个平均的数据框

From country Austria Belgium Denmark France Germany Italy Luxembourg Switzerland The Netherlands United Kingdom Austria 0 0 0 0 0 0 3 0 6 1 Belgium 0 0 0 2 1 1 0 0 5 1 Denmark 0 2 0 2 0 1 0 2 3 0 France 0 0 0 0 6 0 0 […]

根据列值更改行中的值并replace指定的列范围

我发现我的答案大部分是: 根据列值r更改行中的值 。 有两个区别:我想基于分类variables的testing来replace值,我想指定我想要replace的值的范围。 我正在处理一个8600奇数行和170列的dataframe。 这是一个例子: x = data.frame(c("Jan", "Feb", "March", "April"), c(9,3,4,6), c(8, 12,9,11), c(10, 9, 7, 0.6)) names(x) = c("Month","VAR1","VAR2", "VAR3") 我想用NA来replace月份为“March”或“April”的VAR2和VAR3(而不是VAR1)的所有值。 我试过: x[x$Month==c("March", "April"), ] <- data.frame('x', NA, 3:4)但是我得到错误 Warning message: In `[<-.factor`(`*tmp*`, iseq, value = c(1L, 1L)) : invalid factor level, NA generated 和print(x)给出: Month VAR1 VAR2 VAR3 1 Jan 9 […]

如何使用Excel的date作为键索引一个Deedle框架?

假设我给了一个“date”列,其值为03/10/86,06/10/86,07/10/86等。 这并不像Frame.indexRowsDate("Date")那么简单。 我目前的解决scheme是在Excel 3额外的列上创build: 年 月 天 值: =年份(A2) =月(A2) =日(A2) (对于第2行,其中A是具有date的列) 然后使用这个function: let toDateTime (os:ObjectSeries<_>) = let year = (os.Get "Year") :?> int) let month = (os.Get "Month" :?> int) let day = (os.Get "Day" :?> int) DateTime(year,month,day) Frame.indexRowsUsing toDateTime frame 解决scheme鉴于提供的答案,新的toDateTime看起来像这样: let toDateTime (os:ObjectSeries<_>) = DateTime.Parse((os.Get "Date") :?> string)

写数据框以优于标题

我想在Excel中打印一个数据框。 我正在使用ExcelWriter,如下所示: writer = pd.ExcelWriter('test.xlsx') df = DataFrame(C,ind) # C is the matrix and ind is the list of corresponding indices df.to_excel(writer, startcol = 0, startrow = 5) writer.save() 这产生了我所需要的,除此之外,我想添加一个标题与一些文本(解释)的表顶部的数据( startcol=0 , startrow=0 )。 如何使用ExcelWriter添加string标题?

通过pd.read_excel()读取excel表格作为多索引dataframe

我很难用pd.read_excel()来读取excel表格。 我的Excel表格看起来像这样的原始forms: 我期望数据框看起来像这样: bar baz foo one two one two one two ABCDEF baz one 0.085930 -0.848468 0.911572 -0.705026 -1.284458 -0.602760 two 0.385054 2.539314 0.589164 0.765126 0.210199 -0.481789 three -0.352475 -0.975200 -0.403591 0.975707 0.533924 -0.195430 这甚至有可能吗? 我失败的尝试: xls_file = pd.read_excel(data_file, header=[0,1,2], index_col=None) 链接到原始Excel文件: https://www.dropbox.com/s/ek646ab4yb1fvdq/ipsos_excel_tables_type_2_trimed_nosig.xlsx?dl=0