【问题标题】:Calling Python function on a column in DataFrame在 DataFrame 中的列上调用 Python 函数
【发布时间】:2020-05-14 12:08:59
【问题描述】:

我得到了下面的函数来将字符串转换为大写

def changecase(col):
  return col.upper()

尝试在数据框中应用列抛出错误:

df['Description'] = df['Description'].apply(changecase)

错误:

TypeError: 'Column' object is not callable

【问题讨论】:

  • 为什么不只是df['Description'].str.upper()?如果您只想要一列,则无需发送申请
  • 函数将在不同的列上调用
  • 试图自己复制它,它对我有用(预计函数上的小问题,猜测是复制粘贴问题而不是你的代码)
  • 对我有用,也许您的代码存在缩进问题。
  • import pandas as pd pdf = df.select("*").toPandas() pdf['Description'] = pdf['Description'].apply(changecase) 将pyspark df 转换为pandas df它有效

标签: python-3.x dataframe azure-databricks


【解决方案1】:

您可能需要在代码顶部使用@udf

所以:

@udf

...your code...

【讨论】:

    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2017-03-06
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多