草庐IT

pyspark-dataframes

全部标签

python - 从远程服务器中提取大量数据到 DataFrame 中

为了提供尽可能多的上下文,我正在尝试使用psycopg2进行连接,将存储在远程postgres服务器(heroku)上的一些数据提取到pandasDataFrame中。我对两个特定的表感兴趣,users和events,并且连接工作正常,因为在下拉用户数据时importpandas.io.sqlassql#[...]users=sql.read_sql("SELECT*FROMusers",conn)等待几秒钟后,DataFrame按预期返回。Int64Index:67458entries,0to67457Datacolumns(total35columns):[...]然而,当试图直接

python - 如何将 Spark Streaming 数据转换为 Spark DataFrame

到目前为止,Spark还没有创建流式数据的DataFrame,但是我在做异常检测的时候,使用DataFrame进行数据分析更加方便快捷。我已经完成了这部分,但是当我尝试使用流数据进行实时异常检测时,问题出现了。试了好几种方法,仍然无法将DStream转为DataFrame,也无法将DStream内部的RDD转为DataFrame。这是我最新版本的代码的一部分:importsysimportrefrompysparkimportSparkContextfrompyspark.sql.contextimportSQLContextfrompyspark.sqlimportRowfrompy

python - npartitions 会影响 dask.dataframe.head() 的结果吗?

运行以下代码时,dask.dataframe.head()的结果取决于npartitions:importdask.dataframeasddimportpandasaspddf=pd.DataFrame({'A':[1,2,3],'B':[2,3,4]})ddf=dd.from_pandas(df,npartitions=3)print(ddf.head())这会产生以下结果:AB012但是,当我将npartitions设置为1或2时,我得到了预期的结果:AB012123234这似乎很重要,npartitions小于数据帧的长度。这是故意的吗? 最佳答案

python - pandas.DataFrame 可以有列表类型的列吗?

是否可以创建包含列表类型字段的pandas.DataFrame?例如,我想将以下csv加载到pandas.DataFrame:id,scores1,"[1,2,3,4]"2,"[1,2]"3,"[0,2,4]" 最佳答案 去除双引号:id,scores1,[1,2,3,4]2,[1,2]3,[0,2,4]你应该能够做到这一点:query=[[1,[1,2,3,4]],[2,[1,2]],[3,[0,2,4]]]df=pandas.DataFrame(query,columns=['id','scores'])printdf

python - Pandas DataFrame 对象继承还是对象使用?

我正在构建一个用于处理非常具体的结构化数据的库,并且我正在Pandas之上构建我的基础设施。目前我正在为不同的用例编写一堆不同的数据容器,例如用于国家x时间数据的CTMatrix等,以容纳适用于所有CountryxTime结构化数据的方法。我目前正在争论选项1:对象继承classCTMatrix(pd.DataFrame):methodsetc.here或选项2:对象使用classCTMatrix(object):_data=pd.DataFramethenusegetter,settermethodstocontrolaccessto_dataetc.从软件工程的角度来看,这里有明显

python - 更改 Pandas Dataframe 中的时间频率

我有一个如下所示的PandasDataFrame。dfABdate_time2014-07-0106:03:59.61400062.1250NaN2014-07-0106:03:59.69200062.2500NaN2014-07-0106:13:34.52400062.2500241.06252014-07-0106:13:34.60200062.2500241.50002014-07-0106:15:05.39900062.2500241.37502014-07-0106:15:05.39900062.2500241.25002014-07-0106:15:42.00400062.

python Pandas : Add column to grouped DataFrame with method chaining

首先让我说我是pandas的新手。我正在尝试在DataFrame中创建一个新列。我能够按照我的示例中所示执行此操作。但我想通过链接方法来做到这一点,所以我不必分配新变量。首先让我展示一下我想要实现的目标,以及到目前为止我做了什么:In[1]:importnumpyasnpfrompandasimportSeries,DataFrameimportpandasaspdIn[2]:np.random.seed(10)df=pd.DataFrame(np.random.randint(1,5,size=(10,3)),columns=list('ABC'))dfOut[2]:ABC22141

python - 如何将 pyspark.sql.dataframe.DataFrame 转换回 databricks notebook 中的 sql 表

我通过执行以下行创建了pyspark.sql.dataframe.DataFrame类型的数据框:dataframe=sqlContext.sql("select*frommy_data_table")如何将其转换回可以运行sql查询的sparksql表? 最佳答案 您可以使用createReplaceTempView创建表格.在你的情况下它会是这样的:dataframe.createOrReplaceTempView("mytable")在此之后,您可以使用SQL查询您的mytable。如果你的spark版本是≤1.6.2你可以使

python - PySpark:StructField(..., ..., False) 总是返回 `nullable=true` 而不是 `nullable=false`

我是PySpark的新手,正面临一个奇怪的问题。我试图在加载CSV数据集时将某些列设置为不可空。我可以使用非常小的数据集(test.csv)重现我的案例:col1,col2,col311,12,1321,22,2331,32,3341,42,4351,,53第5行第2列有一个空值,我不想在我的DF中获取该行。我将所有字段设置为不可为空(nullable=false),但我得到了一个架构,其中所有三列都具有nullable=true。即使我将所有三列都设置为不可为空,也会发生这种情况!我正在运行最新可用的Spark版本2.0.1。代码如下:frompyspark.sqlimportSpa

python - pyspark Window.partitionBy 与 groupBy

假设我有一个包含大约21亿条记录的数据集。这是一个包含客户信息的数据集,我想知道他们做了多少次。所以我应该对ID进行分组并对一列求和(它有0和1值,其中1表示一个Action)。现在,我可以使用一个简单的groupBy和agg(sum)它,但据我所知,这并不是很有效。groupBy将在分区之间移动大量数据。或者,我也可以使用带有partitionBy子句的Window函数,然后对数据求和。缺点之一是我必须应用额外的过滤器,因为它会保留所有数据。我想要每个ID一条记录。但是我看不到这个窗口是如何处理数据的。是不是比这个groupBy和sum.还是一样? 最佳答