python - 仅从 pyspark 中的 Spark DF 选择数字/字符串列名称

标签 python apache-spark pyspark apache-spark-sql

我在 Pyspark (2.1.0) 中有一个 Spark DataFrame,我希望仅获取数字列或字符串列的名称。

例如,这是我的 DF 的架构:

root
 |-- Gender: string (nullable = true)
 |-- SeniorCitizen: string (nullable = true)
 |-- MonthlyCharges: double (nullable = true)
 |-- TotalCharges: double (nullable = true)
 |-- Churn: string (nullable = true)

这是我需要的:

num_cols = [MonthlyCharges, TotalCharges]
str_cols = [Gender, SeniorCitizen, Churn]

我怎样才能做到?

最佳答案

dtypes 是您可以使用简单过滤器的元组列表(columnNane,type)

 columnList = [item[0] for item in df.dtypes if item[1].startswith('string')]

关于python - 仅从 pyspark 中的 Spark DF 选择数字/字符串列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44066635/

相关文章:

apache-spark - 如果列内容太长,如何使用 spark-redshift 截断列?

apache-spark - UserWarning : pyarrow. open_stream 已弃用,请使用 pyarrow.ipc.open_stream 警告

apache-spark - PySpark 数据帧上的自定义聚合

python - 如何在不阻止 IP 的情况下验证电子邮件是否存在?

java - Spark 结构化流 : converting row to json

python - 查找 USB 硬盘驱动器的挂载卷和挂载点

apache-spark - 在 PySpark 中获取列的名称/别名

apache-spark - 如何在PySpark中进行爆炸?

python - 格式化 Pandas 数据框索引日期

python - 链接器错误 : C/C++ Extensions for python