python dataframe是什么_python – 什么是Spark DataFrame方法`toPandas`实际上在做什么?...

使用火花读取CSV文件到大pandas是一个很迂回的方法来实现将CSV文件读入内存的最终目标。

看起来你可能会误会这里玩的技术的用例。

Spark用于分布式计算(尽管可以在本地使用)。通常用于简单地读取CSV文件的重量太大。

在您的示例中,sc.textFile方法将简单地为您提供一个实际上是文本行列表的火花RDD。这可能不是你想要的。不会执行类型推断,所以如果要在CSV文件中对一列数字进行求和,就不能因为Spark而言仍然是字符串。

只需使用pandas.read_csv并将整个CSV读入内存。pandas会自动推断出每一列的类型。 Spark不这样做

现在回答你的问题:

它是否将Pandas对象存储到本地内存中:

是。 toPandas()会将Spark DataFrame转换为Pandas DataFrame,这当然是内存。

大pandas低级计算是由Spark处理的

不,pandas运行自己的计算,火花和pandas之间没有相互作用,只是一些API兼容性。

它是否暴露了所有pandas数据帧功能?

否。例如,Series对象具有在PySpark Column对象中不可用的内插方法。在Pandas API中有许多方法和功能不在PySpark API中。

我可以把它转换成Pandas,只需要完成它,而不用担心DataFrame API呢?

绝对。实际上,在这种情况下,您根本不应该使用Spark。 pandas.read_csv可能会处理您的用例,除非您正在使用大量的数据。

尝试用简单,低科技,易于理解的图书馆解决您的问题,只有在需要的时候才能去复杂一些。很多时候,你不需要更复杂的技术。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值