Python apache beam从数据集中删除元素

2024-04-29 09:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然我有一个数据集,包括键和几个元素(也称为值?):

['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']

我只想使用第一个和最后一个元素,但我想将它们保留为元素而不是字符串。
"| beam.Map(lambda item: item[0] + ' ,' + str(item[7]))"生成以下字符串:

7 juni ,212
8 juni ,224

我想要元素

['7 juni', '212']
['8 juni', '224']

使用python梁变换可以实现这一点吗


Tags: 数据lambda字符串元素mapitembeamstr
2条回答

或者,如果只想保留最后一个元素,可以编写

pcoll = ...
results = pcoll | beam.Map(lambda input: [input[0], input[-1]])

如果pcoll是

['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']
...

将产生一个PCollection

['7 juni', '212']
['8 juni', '224']
...

我不确定梁是什么,但这是一个相当简单的问题。运行此程序(我认为类似于您的应用程序):

groups = [['a',1,2,3],['b',4,5,6,7]]
results = []

for group in groups:
    key = group[0]
    for val in group[1:]:
        results.append([key,val])

print(results)

结果是[['a',1], ['a'.2], ['a',3], ['b',4], ['b',5], ['b',6], ['b',7]]

相关问题 更多 >