小编Int*_*ers的帖子

在Python中使用timedeltas汇总列表

我正在努力解决以下问题:

我如何总结一个timedeltas列表,如:

[datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), datetime.timedelta(0, 7200)]
Run Code Online (Sandbox Code Playgroud)

这应该导致datetime.timedelta(0,14400) => 4小时

python datetime

7
推荐指数
2
解决办法
2292
查看次数

Pandas 分组日期范围和多列的不同计算

我在按时间范围和按列的不同计算对熊猫 df 进行分组时遇到了麻烦:

让我们采用以下 df:

           date          identifier    value_1    value_2
0     05.07.2018 16:35       A           10          0
1     05.07.2018 16:36       B           20          1
2     05.07.2018 16:37       A           20          2
3     05.07.2018 16:39       B           30          1
4     05.07.2018 16:40       A           40          3
5     05.07.2018 16:41       B           20          2
6     05.07.2018 16:41       A           30          1
7     05.07.2018 16:42       B           50          2
8     05.07.2018 16:43       B           20          3
9     05.07.2018 16:44       A           20          1
Run Code Online (Sandbox Code Playgroud)

因此,我需要一个 df,它按 5 分钟间隔的时间和标识符分组,具有 value_1 的平均值和 value_2 的总和:

           date          identifier    value_1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
4662
查看次数

PYSPARK - 在多个列上加入 nullsafe

假设我们有两个数据帧,我们想要将它们与左反连接进行比较:

data1 = [
  (1, 11, 20, None),
  (2, 12, 22, 31),
]

data2 = [
  (1, 11, 20, None),
  (2, 12, 22, 31),
]

schema = StructType([ \
    StructField("value_1",IntegerType(), True), \
    StructField("value_2",IntegerType(), True), \
    StructField("value_3",IntegerType(), True), \
    StructField("value_4",IntegerType(), True), \
])

df1 = spark.createDataFrame(data=data1,schema=schema)
df2 = spark.createDataFrame(data=data2,schema=schema)
Run Code Online (Sandbox Code Playgroud)

如何通过多个(所有)列 nullsafe 连接这些数据帧?我想出的唯一解决方案如下:

df = df1.join(df2, \
    ((df1.value_1.eqNullSafe(df2.value_1)) &
    (df1.value_2.eqNullSafe(df2.value_2)) &
    (df1.value_3.eqNullSafe(df2.value_3)) &
    (df1.value_4.eqNullSafe(df2.value_4))),
    "leftanti" \
)
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我们现在必须处理大量列的动态列表。我们如何以某种方式重写此连接,以便我们可以提供要连接的列的列表。

感谢和BR

python join apache-spark-sql pyspark databricks

2
推荐指数
1
解决办法
1619
查看次数

标签 统计

python ×3

apache-spark-sql ×1

databricks ×1

datetime ×1

join ×1

pandas ×1

pyspark ×1