use*_*806 3 apache-spark apache-spark-sql pyspark
我有以下代码:
# Get the min and max dates
minDate, maxDate = df2.select(f.min("MonthlyTransactionDate"), f.max("MonthlyTransactionDate")).first()
d = pd.date_range(start=minDate, end=maxDate, freq='MS')
tmp = pd.Series(d)
df3 = spark.createDataFrame(tmp)
Run Code Online (Sandbox Code Playgroud)
我已经检查了 tmp 和 a 我有一个日期列表的 pandas 数据框。然后我检查 df3 但看起来 lit 只是一个空列表:
++
||
++
||
||
||
||
||
||
||
||
Run Code Online (Sandbox Code Playgroud)
发生了什么?
在你的情况下d是DatetimeIndex. 您可以做的是创建 pandas DataFrame DatetimeIndex,然后将 Pandas DF 转换为 Spark DF。PFB 示例代码。
import pandas as pd
d = pd.date_range('2018-12-01', '2019-01-02', freq='MS')
Run Code Online (Sandbox Code Playgroud)
p_df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)
spark.createDataFrame(p_df).show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1401 次 |
| 最近记录: |