当前位置: 首页 > 知识库问答 >
问题:

我正在尝试将python代码转换为pyspark,但由于“Row”对象不支持项分配而出现错误

蔚桐
2023-03-14

我正在尝试在pyspark中转换python代码。请告诉我pyspark版本的代码有什么问题:-

原始python版本:-

for i in range(0,km_data.count()):

  if i==0:

     km_data['risk'].iloc[i]=not_lapsed+lapsed
      

  else:

    km_data['risk'].iloc[i]=km_data['risk'].iloc[i-1]-(km_data['lapsed'].iloc[i-1])-(km_data['censored'].iloc[i])

使用的Pyspark版本:-

for i in range(0,km_data.count()):

  if i==0:

    km_data.collect()[i]['risk']=not_lapsed+lapsed

  else:

    km_data.collect()[i]['risk']=km_data.collect()[i-1]['risk']-(km_data.collect()[i-1]['lapsed'])-(km_data.collect()[i-1]['cencosred'])

基本上,我正在pyspark中寻找等效的iloc,它可以帮助我获得结果。请忽略缩进问题,因为我使用mobile键入了此代码。

共有1个答案

邹铭
2023-03-14

Collect()可以在这里使用,我可以看到你也做了同样的事情-

X = df.collect()[0]['age']  
or 
X = df.collect()[0][1]  #row 0 col 1 

除了你在找什么,还有别的吗?

 类似资料:
  • 当我只为一些特定的测试用例运行代码时,我得到了一个“由于超时错误而终止”。即使我的代码为其他测试用例成功编译。有人能帮我吗? 链接-https://www.hackerrank.com/challenges/phone-book 问题陈述: 你会得到一本电话簿,里面有人们的名字和电话号码。之后,你会得到一些人的名字作为查询。对于每个查询,打印该人的电话号码。 输入格式: 第一行有一个整数,表示通讯

  • 问题内容: 我在python中编写一个简单的排序程序,遇到此错误。我想交换列表元素,但返回错误。我在下面附上错误和相关程序。 码: 问题答案: 计算“ 1,2,3”的结果为。正如您所发现的,元组是不可变的。处理前转换为列表。

  • 问题内容: 我正在查看一些代码,并尝试将其翻译为,但是我仍然停留在本节中。任何人都可以澄清出什么问题吗? 这是给出的错误: 问题答案: 在Python 3中,返回一个惰性序列对象-它不返回列表。无法重新排列范围对象中的元素,因此不能重新排列它。 改组之前将其转换为列表。

  • 错误为:无法获取项目:在“https://dynamodb.us-east-1.amazonaws.com”上执行“GetItem”时出错;AWS HTTP错误:客户端错误:导致响应:{"__type":"com.amazon.coral.validate#ValidationException","消息":"提供的键元素与架构不匹配"(截断...)ValidationException(客户端)

  • 问题内容: 我正在从一个网站获取许多页面的html源代码,我需要将其转换为json对象,并与json文档中的其他元素组合。。我在同一主题上看到了很多问题,但没有一个是有帮助的。 我的代码: 上面的代码提供了unicode类型,但是,当我将输出放入jsonLint时,它给了我无效的json错误。有人可以帮助我了解如何将完整的html转换为json对象吗? 问题答案: 将原始HTML内容转换为JSON

  • 问题内容: 好的,所以我有一个来自EEG扫描的数据文件(一个二进制文件,data.eeg),在matlab中,用于读取文件并绘制部分数据的代码如下所示: 这是我的“翻译”尝试 这就是让我感到困惑的地方。根据文档,matlab的fread是一种通过fread(loaded_file,size,data_type)读取二进制文件的方法。python中的替代方法是使用numpy的fromfile并使用内