草庐IT

Dataframe

全部标签

r - 如何有效地合并两个数据集?

我正在尝试通过一个通用ID合并两个相当大的数据集-但并不荒谬(360,000X4、57,000X4)-数据集。我尝试了常规的merge()、merge.data.table()和sqldf()。每次我一直用完内存(cannotallocatevectorofsize...)。有什么解决办法吗?还是R是一个糟糕的数据合并工具?head()如下(我正在尝试合并STUDENT.NAME):ID10STUDENT.NAMEFATHER.NAMEMOTHER.NAME11DEEKSHITHJJAYANNASWARNA24MANIKANTHADDEVARAJMANJULA35NAGESHTTHIM

r - 超过 R 中的内存限制(即使使用 24GB RAM)

我正在尝试合并两个数据框:一个有33个变量的908450个观察值,另一个有2个变量的908450个观察值。dataframe2我已经从工作内存中清除了所有其他数据帧,并使用以下代码重置了我的内存限制(对于具有24GBRAM的全新桌面):memory.limit(24576)但是,我仍然收到错误Cannotallocatevectorofsize173.Mb.关于如何解决这个问题的任何想法? 最佳答案 要跟进我的评论,请使用data.table。我整理了一个与您的数据相匹配的快速示例来说明:library(data.table)dt1

r - 超过 R 中的内存限制(即使使用 24GB RAM)

我正在尝试合并两个数据框:一个有33个变量的908450个观察值,另一个有2个变量的908450个观察值。dataframe2我已经从工作内存中清除了所有其他数据帧,并使用以下代码重置了我的内存限制(对于具有24GBRAM的全新桌面):memory.limit(24576)但是,我仍然收到错误Cannotallocatevectorofsize173.Mb.关于如何解决这个问题的任何想法? 最佳答案 要跟进我的评论,请使用data.table。我整理了一个与您的数据相匹配的快速示例来说明:library(data.table)dt1

r - 以节省内存的方式增长 data.frame

根据CreatinganRdataframerow-by-row,使用rbind附加到data.frame并不理想,因为它每次都会创建整个data.frame的副本。如何在R中累积数据,从而生成data.frame而不会产生这种惩罚?中间格式不需要是data.frame。 最佳答案 第一种方法我尝试访问预先分配的data.frame的每个元素:res但是tracemem变得疯狂(例如data.frame每次都被复制到一个新地址)。替代方法(也不起作用)一种方法(不确定它是否更快,因为我还没有进行基准测试)是创建一个data.fram

r - 以节省内存的方式增长 data.frame

根据CreatinganRdataframerow-by-row,使用rbind附加到data.frame并不理想,因为它每次都会创建整个data.frame的副本。如何在R中累积数据,从而生成data.frame而不会产生这种惩罚?中间格式不需要是data.frame。 最佳答案 第一种方法我尝试访问预先分配的data.frame的每个元素:res但是tracemem变得疯狂(例如data.frame每次都被复制到一个新地址)。替代方法(也不起作用)一种方法(不确定它是否更快,因为我还没有进行基准测试)是创建一个data.fram

Python 之 Pandas DataFrame 数据类型的简介、创建的列操作

文章目录一、DataFrame结构简介二、DataFrame对象创建1.使用普通列表创建2.使用嵌套列表创建3指定数值元素的数据类型为float4.字典嵌套列表创建5.添加自定义的行标签6.列表嵌套字典创建DataFrame对象7.Series创建DataFrame对象三、DataFrame列操作1.选取数据列2.列添加3.insert()方法添加4.删除数据列DataFrame是Pandas的重要数据结构之一,也是在使用Pandas进行数据分析过程中最常用的结构之一,可以这么说,掌握了DataFrame的用法,你就拥有了学习数据分析的基本能力。一、DataFrame结构简介DataFrame

将新的Pandas DataFrame列分配给单个值的最清洁方法是什么?

使用数据框df我想创建一个新专栏A并将其分配给一个值(我的情况下是字符串)df['A']=value发出警告并建议使用LOC但是,下面的解决方案仍然发出相同的警告:df.loc[:,'A']=value进行一些研究,我在下面发现了没有发出警告的解决方案:df=df.assign(A=value)这是创建新列并将其分配给值的一般接受方法吗?LOC还有其他可能性吗?熊猫版本“0.20.1”编辑:这是为2个第一个方法获得的警告消息"AvalueistryingtobesetonacopyofaslicefromaDataFrame.Tryusing.loc[row_indexer,col_index

python - 如何使用条件从现有列在数据框中创建新列?

我有一列包含所有看起来像这样的数据(需要分隔的值有一个类似(c)的标记):UK(c)LondonWalesLiverpoolUS(c)ChicagoNewYorkSanFranciscoSeattleAustralia(c)SydneyPerth我希望它分成两列,如下所示:LondonUKWalesUKLiverpoolUKChicagoUSNewYorkUSSanFranciscoUSSeattleUSSydneyAustraliaPerthAustralia问题2:如果国家没有像(c)这样的模式怎么办? 最佳答案 一步一步用en

python - 如何使用条件从现有列在数据框中创建新列?

我有一列包含所有看起来像这样的数据(需要分隔的值有一个类似(c)的标记):UK(c)LondonWalesLiverpoolUS(c)ChicagoNewYorkSanFranciscoSeattleAustralia(c)SydneyPerth我希望它分成两列,如下所示:LondonUKWalesUKLiverpoolUKChicagoUSNewYorkUSSanFranciscoUSSeattleUSSydneyAustraliaPerthAustralia问题2:如果国家没有像(c)这样的模式怎么办? 最佳答案 一步一步用en

python - 计算表中每 x 行的平均值并创建新表

我有一个长数据表(约200行乘50列),我需要创建一个代码来计算每两行和表中每一列的平均值,最终输出是一个新表的平均值。这在Excel中显然很疯狂!我使用python3并且我知道一些类似的问题:here,here和here.但是这些都没有帮助,因为我需要一些优雅的代码来处理多个列并生成一个有组织的数据表。顺便说一句,我的原始数据表是使用pandas导入的,并被定义为数据框,但在pandas中找不到简单的方法。非常感谢您的帮助。表格的一个例子(短版)是:abcd2502526411384463316258372725102848321247354514816716121630182239