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

如何在Python/Pyspark数据框架中为所有列添加后缀和前缀

汪晟睿
2023-03-14

我在pyspark中有一个有100多列的数据帧。我要做的是,对于所有的列名,我希望在列名的开头和结尾添加反勾(`)。

例如:

column name  is testing user. I want `testing user`

在pyspark/python中有没有这样做的方法。当我们应用代码时,它应该返回一个数据帧。

共有1个答案

阎功
2023-03-14

在Python中使用列表理解。

from pyspark.sql import functions as F

df = ...

df_new = df.select([F.col(c).alias("`"+c+"`") for c in df.columns])

此方法还提供了在alias()函数中添加自定义python逻辑的选项,例如:“prefix_”+c+“_suffix”如果c in list_of_cols_to_change else c

 类似资料:
  • 我用的是PySpark,我有一个Spark数据框架,里面有一堆数字列。我想添加一列,它是所有其他列的总和。 假设我的数据帧具有列“a”、“b”和“c”。我知道我能做到: 问题是,我不想单独键入每列并添加它们,尤其是如果我有很多列。我希望能够自动执行此操作,或者通过指定要添加的列名列表来执行此操作。有其他方法吗?

  • 问题内容: 我有一个前缀要添加到每条路线。现在,我在每个定义处都向路线添加了一个常量。有没有一种方法可以自动执行此操作? 问题答案: 答案取决于你如何为该应用程序提供服务。 子安装在另一个容器中 假设你将在容器(等)中运行此应用程序;你实际上需要将该应用程序作为该容器的子部分挂载在该前缀处(任何讲WSGI的东西都可以使用),并将值设置为你的前缀: 设置配置值只是将的会话限制为该URL前缀。和出色的

  • 问题内容: 我想为每个列名添加后缀,如下所示: 我该怎么做呢?另外,如果要添加后缀,解决方案将如何更改? 问题答案: 您可以使用一种理解: 也有内置方法,如和在另一个答案中提到的。

  • 问题内容: 我正在使用PySpark,并且有一个带有一堆数字列的Spark数据框。我想添加一列,它是所有其他列的总和。 假设我的数据框具有列“ a”,“ b”和“ c”。我知道我可以这样做: 问题是我不想单独键入每列并添加它们,尤其是当我有很多列时。我希望能够自动执行此操作,或者希望通过指定要添加的列名列表来执行此操作。还有另一种方法吗? 问题答案: 这并不明显。我看不到spark Datafra

  • 问题内容: 我有一个前缀要添加到每条路线。现在,我在每个定义处都向路线添加了一个常量。有没有一种方法可以自动执行此操作? 问题答案: 答案取决于你如何为该应用程序提供服务。 安装在另一个WSGI容器中 假设你将在WSGI容器(mod_wsgi,uwsgi,gunicorn等)中运行此应用程序;你实际上需要将该应用程序作为该WSGI容器的子部分挂载在该前缀处(任何讲WSGI的东西都可以使用),并将A

  • 我有一个mysql数据库表,其中我需要将前缀“35-”添加到某个列/字段()的所有值中,该列/字段的号高于500。因此,例如,我希望productcode值更改为,并且在表的所有其他行中类似。 另外一个问题是,此列是该表的主键,但我试图通过添加一个额外的索引列,将其定义为主键,擦除“ProductCode”上的索引,并尝试以下查询(意图稍后再次将其定义为主索引)来解决这一问题: 我没有收到任何错误