草庐IT

pyspark-dataframes

全部标签

python - PySpark 1.5 如何将时间戳从秒截断到最近的分钟

我正在使用PySpark。我在数据框('canon_evt')中有一列('dt'),这是一个时间戳。我正在尝试从DateTime值中删除秒数。它最初是作为字符串从parquet读入的。然后我尝试通过将其转换为时间戳canon_evt=canon_evt.withColumn('dt',to_date(canon_evt.dt))canon_evt=canon_evt.withColumn('dt',canon_evt.dt.astype('Timestamp'))然后我想删除秒。我尝试了“trunc”、“date_format”,甚至尝试像下面这样将片段连接在一起。我认为它需要某种映射

python - 仅标记 DataFrame 中满足条件的第一行

我有以下DataFramedf,可以按如下方式创建:date_today=datetime.now().date()days=pd.date_range(date_today,date_today+timedelta(19),freq='D')x=np.arange(0,2*np.pi,0.1*np.pi)#start,stop,stepy=np.sin(x)df=pd.DataFrame({'dates':days,'vals':y,'is_hit':abs(y)>0.9})df=df.set_index('dates')看起来像这样:is_hitvalsdates2019-03-2

python - Pandas - Dataframe.set_index - 如何保留旧索引列

我有这个Dataframe:importpandasaspddf=pd.DataFrame({'Hugo':{'age':21,'weight':75},'Bertram':{'age':45,'weight':65},'Donald':{'age':75,'weight':85}}).Tdf.index.names=['name']ageweightnameBertram4565Donald7585Hugo2175我想将索引更改为'age'列:df.set_index('age',inplace=True)weightage456575852175旧索引列名称丢失。有没有一种方法可以

python - 如何获得相关矩阵值pyspark

我有一个在pyspark2.2上计算如下的相关矩阵:frompyspark.ml.linalgimportVectorsfrompyspark.ml.statimportCorrelationfrompyspark.ml.linalgimportVectorsfrompyspark.ml.featureimportVectorAssemblerdatos=sql("""select*fromproceso_riesgos.jdgc_bd_train_mn_ingresos""")Variables_corr=['ingreso_final_mix','ingreso_final_pro

python - 从 Pyspark DataFrame 中的选定行获取特定字段

我有一个通过pyspark从JSON文件构建的SparkDataFramesc=SparkContext()sqlc=SQLContext(sc)users_df=sqlc.read.json('users.json')现在,我想访问一个chosen_user数据,这是它的_id字段。我能行printusers_df[users_df._id==chosen_user].show()这给了我完整的用户行。但是假设我只想要Row中的一个特定字段,比如用户性别,我该如何获取它? 最佳答案 只需过滤并选择:result=users_df.

python - iPython notebook 中的 PySpark 在使用 count() 和 first() 时引发 Py4JJavaError

我在iPythonnotebook(pythonv.3.6)中使用PySpark(v.2.1.0)而不是在我的Mac(Sierra10.12.3Beta)中使用virtualenv。1.我通过在终端中拍摄来启动iPythonnotebook-PYSPARK_PYTHON=python3PYSPARK_DRIVER_PYTHON=ipythonPYSPARK_DRIVER_PYTHON_OPTS="notebook"/Applications/spark-2.1.0-bin-hadoop2.7/bin/pyspark2.将我的文件加载到SparkContext并确保其已加载->>>lin

python - PySpark:当函数具有多个输出时

这个问题在这里已经有了答案:SparkEquivalentofIFThenELSE(4个答案)关闭5年前。我正在尝试使用“链接时间”函数。换句话说,我想要获得两个以上的输出。我尝试在Excel中使用与连接IF函数相同的逻辑:df.withColumn("device_id",when(col("device")=="desktop",1)).otherwise(when(col("device")=="mobile",2)).otherwise(null))但这不起作用,因为我不能将元组放入“otherwise”函数中。

python - 从具有特定模式的 txt 文件创建 Pandas DataFrame

我需要基于以下结构的文本文件创建一个PandasDataFrame:Alabama[edit]Auburn(AuburnUniversity)[1]Florence(UniversityofNorthAlabama)Jacksonville(JacksonvilleStateUniversity)[2]Livingston(UniversityofWestAlabama)[2]Montevallo(UniversityofMontevallo)[2]Troy(TroyUniversity)[2]Tuscaloosa(UniversityofAlabama,StillmanCollege

python - 绘制 Pandas DataFrame 中出现的次数

我有一个包含两列的DataFrame。其中一个包含时间戳,另一个包含一些Action的ID。类似的东西:2000-12-2900:10:00action12000-12-2900:20:00action22000-12-2900:30:00action22000-12-2900:40:00action12000-12-2900:50:00action1...2000-12-3100:10:00action12000-12-3100:20:00action22000-12-3100:30:00action2我想知道在某一天执行了多少次某种类型的操作。IE。对于每一天,我需要计算actio

python - 使用 Groupby 识别 Pandas Dataframe 中连续的相同值

我有以下数据框df:data={'id':[1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],'value':[2,2,3,2,2,2,3,3,3,3,1,4,1,1,1,4,4,1,1,1,1,1]}df=pd.DataFrame.from_dict(data)dfOut[8]:idvalue012112213312412512613713813913102111241221132114211524162417211821192120212121我需要做的是在id级别(df.groupby['id'])当值连续3次或更多次显示相同的数字时进行识