草庐IT

pyspark-dataframes

全部标签

python - 将 RDD 写入 PySpark 中的多个文件

我有一个包含键值对的rdd。只有3个键,我想将给定键的所有元素写入文本文件。目前我分3次完成此操作,但我想看看我是否可以一次完成。这是我目前所拥有的:#Ihaveanrdd(calledmy_rdd)suchthatarecordisakeyvaluepair,e.g.:#('data_set_1','value1,value2,value3,...,value100')my_rdd.cache()my_keys=['data_set_1','data_set_2','data_set_3']forkeyinmy_keys:my_rdd.filter(lambdal:l[0]==key

python - 在 pyspark 中运行脚本时缺少应用程序资源

我一直在尝试通过pyspark执行脚本.py但我一直收到此错误:11:55$./bin/spark-submit--jarsspark-cassandra-connector-2.0.0-M2-s_2.11.jar--py-filesexample.pyExceptioninthread"main"java.lang.IllegalArgumentException:Missingapplicationresource.atorg.apache.spark.launcher.CommandBuilderUtils.checkArgument(CommandBuilderUtils.ja

python - 为 PySpark 捆绑 Python3 包导致缺少导入

我正在尝试运行依赖于某些python3库的PySpark作业。我知道我可以在Spark集群上安装这些库,但由于我正在为多个作业重用该集群,所以我宁愿捆绑所有依赖项并通过--py-files指令。为此,我使用:pip3install-rrequirements.txt--target./build/dependenciescd./build/dependencieszip-qrm.../dependencies.zip它有效地压缩了所需包中的所有代码,以便在根级别使用。在我的main.py中,我可以导入依赖项ifos.path.exists('dependencies.zip'):sys

python - PySpark 窗口函数 : multiple conditions in orderBy on rangeBetween/rowsBetween

是否可以为rangeBetween或rowsBetween创建一个可以在orderBy中具有多个条件的窗口函数。假设我有一个如下所示的数据框。user_idtimestampdateevent0040b5f02018-01-2213:04:322018-01-2210040b5f02018-01-2213:04:352018-01-2200040b5f02018-01-2518:55:082018-01-2510040b5f02018-01-2518:56:172018-01-2510040b5f02018-01-2520:51:432018-01-2510040b5f02018-01

python - 将 python pandas DataFrame 转换为 R dataframe 以与 rpy2 一起使用的问题

我无法将Python中的pandasDataFrame转换为R对象,以便将来使用rpy2在R中使用。新的pandas版本0.8.0(几周前发布)具有将pandasDataFrames转换为RDataFrames的功能。问题在于转换我的pandasDataFrame的第一列,它由pythondatetime对象组成(在时间序列中连续)。转换为R数据帧会返回日期和时间的StrVector,而不是我认为称为“POSIXct”对象的R日期时间类型对象的向量。我知道使用命令“as.POSIXct('yyyy-mm-ddhh:mm:ss')”将返回类型的字符串转换为POSIXct的命令。不幸的是,

python - pandas.DataFrame.equals 的契约(Contract)

我有一个函数的简单测试用例,它返回一个可能包含NaN的df。我正在测试输出和预期输出是否相等。>>>outputOut[1]:rttsttttct020483009011409690130120702651[3rowsx5columns]>>>expectedOut[2]:rttsttttct020483009011409690130120702651[3rowsx5columns]>>>output==expectedOut[3]:rttsttttct0TrueTrueTrueTrueTrue1TrueTrueTrueTrueTrue2TrueTrueTrueTrueTrue但是,由

python - Pandas DataFrames 如何看起来相同但 equals() 失败?

为了确认我理解Pandasdf.groupby()和df.reset_index()的作用,我尝试从数据帧到相同数据的分组版本并返回。往返之后,列和行必须再次排序,因为groupby()影响行顺序而reset_index()影响列顺序,但经过两次快速操作后将列和索引按顺序放回去,数据框看起来相同:相同的列名列表。每列的数据类型相同。相应的索引值严格相等。对应的数据值严格相等。然而,在所有这些检查都成功之后,df1.equals(df5)返回了惊人的值False。这些数据帧之间的区别是equals()揭示了我还没有弄清楚如何检查自己?测试代码:csv_text="""\Title,Yea

python - 如何通过混合 iloc 和 loc 在 pandas DataFrame 中设置值

假设我想要一个函数来更改DataFrame给定行号中命名列的值。一种选择是找到列的位置并使用iloc,就像这样:defChangeValue(df,rowNumber,fieldName,newValue):columnNumber=df.columns.get_loc(fieldName)df.iloc[rowNumber,columnNumber]=newValue但我想知道是否有一种方法可以一次性使用iloc和loc的魔力,而跳过手动转换。有什么想法吗? 最佳答案 我建议将iloc与Index.get_loc方法结合使用。例如

python - 向量化 pandas.DataFrame 的整合

我有一个力-位移数据的DataFrame。位移数组已设置为DataFrame索引,列是我针对不同测试的各种力曲线。如何计算完成的功(即“曲线下的面积”)?我看了numpy.trapz这似乎可以满足我的需要,但我认为我可以避免像这样循环遍历每一列:importnumpyasnpimportpandasaspdforces=pd.read_csv(...)work_done={}forcolinforces.columns:work_done[col]=np.trapz(forces.loc[col],forces.index))我希望创建一个新的曲线下区域的DataFrame而不是dic

python - 类型注释 Pandas DataFrame

如果函数或方法返回PandasDataFrame,您如何记录列名和列类型?有没有办法在Python的内置类型注释中执行此操作,还是您只使用文档字符串?如果您只使用文档字符串,您如何格式化它们以尽可能简洁? 最佳答案 文档字符串格式我使用numpydocstring公约作为基础。如果函数的输入参数或返回参数是具有预定列的pandas数据框,那么我将添加一个reStructuredText样式table带有参数描述的列描述。例如:defrandom_dataframe(no_rows):"""Returndataframewithran